blob: dfdb9112a3093c7ac809e715fdff2714447bfa4f [file] [log] [blame]
Lucas De Marchi49d8e0b2014-04-06 17:52:44 -03001kmod 17
2=======
3
4- Bug fixes:
5 - Fix matching a "." in kernel cmdline, making garbage in the command
6 line be parsed as kmod options
7 - Fix man pages to clarify we don't fallback to parsing modules.dep
8 but instead we depend on modules.dep.bin (generated by depmod) to
9 be present
10 - Fix ELF parsing on 32 bit systems assigning the wrong class.
11 - Fix partial matches of search directives in depmod. Previously having
12 a line in depmod.conf such as "search foo foobar built-in" would cause
13 unpretictable results because foo is a partial match of foobar as well.
14 - Fix unaligned access in modinfo when getting the signature from a
15 module
16 - Make sure softdeps are treated as optional dependencies
17
18- New features:
19 - Accept special files given to "-C" switch in modprobe. This way it's
20 possible to skip system configuration with "modprobe -C /dev/null"
21 - Do not require xsltproc on released tarballs
22 - Don't use Werror anymore
23 - Add experimental python bindings, merged from python-kmod repository
24 (https://github.com/agrover/python-kmod)
25 - Parse softdeps exported by the kernel as
26 /lib/modules/`uname -r`/modules.softdep
27
28- Improvements to testsuite:
29 - Check the list of loaded modules after a test
30
Lucas De Marchi7ab88042013-09-20 01:30:07 -050031kmod 16
32=======
33
Lucas De Marchi8f67ab52013-09-20 01:50:40 -050034- Bug fixes:
35 - Fix usage of readdir_r()
Lucas De Marchi36c4bb92013-12-22 19:45:19 -020036 - Add some missing checks for memory allocation errors
Lucas De Marchi8f67ab52013-09-20 01:50:40 -050037
Lucas De Marchi7ab88042013-09-20 01:30:07 -050038- New features:
39 - Remove option from libkmod to allow waiting on module removal if
40 the module is being used. It's dangerous since it can block the
41 caller indefinitely.
Lucas De Marchi8f67ab52013-09-20 01:50:40 -050042 - Improve compatibility with musl libc
43 - Add fallback implementation for compilers without _Static_assert(),
44 e.g. gcc < 4.6
45 - Minor optimizations to the hash table
46 - Make depmod warn if a module has incorrect devname specification
Lucas De Marchi36c4bb92013-12-22 19:45:19 -020047 - Use cleanup attribute
Lucas De Marchi7ab88042013-09-20 01:30:07 -050048
Lucas De Marchib3e19ce2013-07-17 02:31:36 -030049kmod 15
50=======
51
52- Bug fixes:
53 - kmod static-nodes doesn't fail if modules.devname isn't available
Lucas De Marchi18811d22013-08-22 10:44:08 -030054 - Fix getting boolean parameter from kernel cmdline in case the value
55 is omitted
56 - Fix some mkdir_p() corner cases (used in testsuite and static-nodes)
Lucas De Marchib3e19ce2013-07-17 02:31:36 -030057
58- New features:
59 - kmod static-nodes creates parent directories if given a -o option
Lucas De Marchi18811d22013-08-22 10:44:08 -030060 - kmod binary statically links to libkmod - if distro is only interested
61 in the kmod tool (for example in an initrd) it can refrain from
62 installing the library
63 - Add shell completion for kmod tool
Lucas De Marchib3e19ce2013-07-17 02:31:36 -030064
Lucas De Marchi3b38c7f2013-07-03 12:42:04 -030065kmod 14
66=======
67
68- Bug fixes:
69 - Fix some format strings
70 - Protect against NULL being passed around to index
71 - Avoid calling syscall() with -1 when finit_module() is not available,
72 since this doesn't always work
73 - Fix not being able to remove alias due to checking the module's
74 refcount
75 - Minor fixes and refactors
76
77- New features:
78 - Improve libkmod documentation, particularly on how flags are dealt
79 with.
80 - Remove ability to build a static libkmod
81 - Add static-nodes command to kmod that parses modules.devname
82 generating output in useful formats
83
Lucas De Marchiabb910e2013-04-09 19:35:32 -030084kmod 13
85=======
86
87- Bug fixes:
88 - Add the long option --symbol-prefix option to depmod (it was absent)
89 and fix its behavior
90 - Don't abort if there's a bogus line in configuration file like "alias
91 psmouse off". Some distros are carrying this since the days of
92 modutils
93
94- New features:
95 - Add support for finit_module(2). If the module is load straight from
96 the disk and without compression we use finit_module() syscall when
97 available, falling back to init_module() otherwise
98 - kmod_module_get_info() also returns the signature if the module is
99 signed and modinfo uses it
100 - Use secure_getenv if available
101 - rmmod understands builtin modules, just like modprobe does
102 - Improve compatibility with musl-libc
103 - Test cases exit with success when receiving a signal if they are
104 xfail tests
105
Lucas De Marchi6feba022012-12-05 01:39:17 -0200106kmod 12
107=======
108
109- Bug fixes:
110 - Fix removing vermagic from module when told to force load a module
111 - Fix removing __versions section when told to force load a module: we
112 need to mangle the section header, not the section.
113 - modinfo no longer fails while loading a module from file when path
114 contains ".ko" substring
115
Lucas De Marchic5996062012-11-08 02:30:21 -0200116kmod 11
117=======
118
119- Improvements to testsuite:
120 - Fix testsuite defining symbols twice on 32 bit systems
121 - Allow to check generated files against correct ones
122
123- New features:
124 - libkmod now keeps a file opened after the first call to
125 kmod_module_get_{info,versions,symbols,dependency_symbols}. This
126 reduces signficantly the amount of time depmod tool takes to
127 execute. Particularly if compressed modules are used.
128 - Remove --with-rootprefix from build system. It was not a great idea
129 after all and should not be use since it causes more harm then
130 benefits.
131 - Hide --wait option on rmmod. This feature is being targeted for
132 removal from kernel. rmmod still accepts this option, but it's hidden
Lucas De Marchi7ab88042013-09-20 01:30:07 -0500133 now: man page and usage() say nothing about it and if it's used,
Lucas De Marchic5996062012-11-08 02:30:21 -0200134 user will get a 10s sleep. This way we can check and help if anyone
135 is using this feature.
136 - Refactor message logging on all tools, giving proper prefix, routing
137 everything to syslog when asked for, etc.
138
139- Bug fixes:
140 - Fix parsing of modules.order when using compressed modules
141 - Usage messages go to stdout instead of stderr
142 - Fix memory leak in hash implementation
143
Lucas De Marchi40758602012-09-06 16:26:53 -0300144kmod 10
145=======
146
147- New features:
148 - Read coresize from /sys if supported
149
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200150 - Add flag to kmod_module_probe_insert() to apply blacklisting during
151 probe only if mod is an alias. Now modprobe uses this flag by default.
Lucas De Marchi40758602012-09-06 16:26:53 -0300152 This is needed to fix a change in behavior regarding module-init-tools
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200153 and ultimately makes us loading a blacklisted module.
Lucas De Marchi40758602012-09-06 16:26:53 -0300154
155- Better formatting in man pages
156
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200157- Add option to disable building man pages at build time
Lucas De Marchi40758602012-09-06 16:26:53 -0300158
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200159- Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries
Lucas De Marchi40758602012-09-06 16:26:53 -0300160
161- Re-licensing testsuite as LGPL
162
Lucas De Marchi62081c02012-06-19 19:46:53 -0300163kmod 9
164======
165
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200166- Improvements to the testsuite:
Lucas De Marchi62081c02012-06-19 19:46:53 -0300167 - Check for correct handling of softdep loops
168 - Check for correct handling of install command loops
169
170- Bug fixes:
171 - Fix build with compilers that don't support --gc-sections
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200172 - Handle errors when dealing with gzipped modules
173 - depmod now handles errors while writing indices, so it doesn't end up
174 with a corrupted index without telling the user
Lucas De Marchi62081c02012-06-19 19:46:53 -0300175
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300176kmod 8
177======
178
179- No new features, small bug fixes only.
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200180 - Fix a bug in "modprobe -c" output: be compatible with
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300181 module-init-tools
182
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200183 - Give a useful error message when init_module fails due to bad
184 parameter or unknown symbols
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300185
186 - Fix doc generation
187
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300188kmod 7
189======
190
191- Re-order dirs for configuration files to match the change in systemd and
192 udev: now the priority is:
193 1. /etc/modprobe.d
194 2. /run/modprobe.d
195 3. /lib/modprobe.d
196
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200197- Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not
198 allowing the user to set his preferences.
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300199
200- Bug fixes:
201 - Return same error codes of module-init-tools when removing modules
202 with modprobe
203 - Fix builtin output in "--show-depends" when target kernel is not the
204 same of the running kernel
205 - 'modprobe -r' always look at all command line arguments
206 - Fix '-q' usage in modprobe
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300207
Lucas De Marchi26906fe2012-03-02 22:34:36 -0300208kmod 6
209======
210
211- New API in libkmod:
212 - kmod_module_apply_filter(): a generic function to apply filters in a
213 list of modules. This deprecates the use of
214 kmod_module_get_filtered_blacklist()
215
216- More tests in testsuite
217
218- Add compatibility with uClibc again
219
220- Lookup modules.builtin.bin to decide if a module is built in kernel
221
222- Downgrade some log messages so we don't annoy people with useless messages
223
224- Bug fixes:
225 - Flag --ignore-loaded was not being properly handled
226 - Infinite loop with softdeps
227 - Infinite loop with dumb user configuration with install commands
228 - Fix leak in index when there's a partial match
229
230- Move repository and tarballs to kernel.org
231
Lucas De Marchie4795982012-02-06 20:34:33 -0200232kmod 5
233======
234
235- Break libkmod's API to insert a module like modprobe does. It now accepts
236 extra an extra argument to print its action and acceptable flags were
237 sanitized.
238
239- Share more code between modprobe and libkmod: using the new version of
240 kmod_module_probe_insert_module() it's possible to share a great amount of
241 code between modprobe and libkmod
242
243- modprobe no longer works with paths: it only accepts module names and/or
244 aliases now.
245
246- testsuite was added to repository, allowing automated tests to be run and
247 easing the way bugs are reproduced.
248
249- modprobe: when dumping configuration ('-c' option) separate config
250 and indexes by adding a commented line between them.
251
252- Fix bugs wrt normalizing aliases and module names
253
254- Fix bug wrt inserting an alias that resolves to multiple modules: we should
255 not stop on the first error, but rather continue to try loading other
256 modules.
257
258- Fix unaligned memory access in hash function, causing depmod to output wrong
259 information in ARMv5
260
261- Fix man page build and install: now they are only installed if tools are
262 enabled
263
Lucas De Marchib53b7e32012-01-16 16:53:04 -0200264kmod 4
265======
266
267- New APIs in libkmod to:
268 - Get configuration lists: blacklists, install commands, remove
269 commands, aliases, options and softdeps
270 - Dump indexes
271
272- Several bugs fixed in libkmod, modprobe, depmod and modinfo
273
274- API documentation: if configure with run with --enable-gtk-doc, the API doc
275 will be generated by make. Gtk-doc is required for that.
276
277- Man pages are built, which replace man pages from module-init-tools
278
279- 'include' and 'config' options in *.conf files were deprecated
280
281- configure is not run by autogen.sh. Instead, a common set of options is
282 printed. If you are hacking on kmod, consider using bootstrap-configure
283 script.
284
285- 'modprobe -c' works as expected now. As opposed to module-init-tools, it
286 dumps the parsed configuration, not only the file contents.
287
Lucas De Marchib30a71b2012-01-04 22:27:58 -0200288kmod 3
289======
290
291- New APIs in libkmod to:
292 - Get symbols from module, parsing the ELF section
293 - Get dependency symbols
294 - Check if resources are still valid or if libkmod must be reloaded
295 - Insert module like modprobe, checking (soft-)dependencies, commands,
296 blacklist. It can run commands by itself and to call a callback
297 function.
298
299- Support to load modules compressed with xz
300
301- Tools are now bundled together in a single tool called kmod. It can be
302 called using symlinks with the same names as tools from module-init-tools.
303 E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a
304 1:1 replacement of module-init-tools.
305
306- The only missing tool, depmod, was added to kmod together with the necessary
307 APIs in libkmod.
308
309- If a program using libkmod runs for a long time, as for example udev, it must
310 check if it doesn't have to re-load libkmod. A new helper function was added
311 in libkmod to check if context is still valid and udev is already using it.
312
313- An 'unaligned access' bug was fixed. So those architecture that does not
314 handle unaligned access can use kmod, too.
315
Lucas De Marchiacc18b12011-12-20 23:48:46 -0200316kmod 2
317======
318
319Some bugs fixed: the worst of them was with an infinite loop when an alias
320matched more than one module.
321
322- New APIs in libkmod to:
323 - Get soft dependencies
324 - Get info from module files parsing ELF
325 - Get modversions from files parsing ELF
326
327- Support to load gzipped kernel modules: kmod can be compiled with support to
328 gzipped modules by giving the --enable-zlib flag
329
330- Support to forcefully load modules, both vermagic and modversion
331
332- Support to force and nowait removal flags
333
334- Configuration files are parsed in the same order as modprobe: files are
335 sorted alphabetically (independently of their dir) and files with the same
336 name obey a precedence order
337
338- New tool: kmod-modinfo
339
340- kmod-modprobe gained several features to be a 1:1 replacement for modprobe.
341 The only missing things are the options '--showconfig' and '-t / -l'. These
342 last ones have been deprecated long ago and they will be removed from
343 modprobe. A lot of effort has been put on kmod-modprobe to ensure it
344 maintains compabitility with modprobe.
345
346- linux-modules@vger.kernel.org became the official mailing list for kmod
347
Lucas De Marchi89eba7c2011-12-15 15:43:58 -0200348kmod 1
349======
Lucas De Marchiecd40ee2011-11-21 12:35:15 -0200350
Lucas De Marchi89eba7c2011-12-15 15:43:58 -0200351First version of kmod and its library, libkmod.
352
353In the libkmod it's currently possible to:
354 - List modules currently loaded
355 - Get information about loaded modules such as initstate, refcount,
356 holders, sections, address and size
357 - Lookup modules by alias, module name or path
358 - Insert modules: options from configuration and extra options can be
359 passed, but flags are not implemented, yet
360 - Remove modules
361 - Filter list of modules using blacklist
362 - For each module, get the its list of options and install/remove
363 commands
364 - Indexes can be loaded on startup to speedup lookups later
365
366Tools provided with the same set of options as in module-init-tools:
367 - kmod-lsmod
368 - kmod-insmod
369 - kmod-rmmod
370 - kmod-modprobe, with some functionality still missing (use of softdep,
371 dump configuration, show modversions)