blob: e028cff533592c383bebf8fb61d3b2b619236c3c [file] [log] [blame]
Lucas De Marchi7ab88042013-09-20 01:30:07 -05001kmod 16
2=======
3
4- New features:
5 - Remove option from libkmod to allow waiting on module removal if
6 the module is being used. It's dangerous since it can block the
7 caller indefinitely.
8
Lucas De Marchib3e19ce2013-07-17 02:31:36 -03009kmod 15
10=======
11
12- Bug fixes:
13 - kmod static-nodes doesn't fail if modules.devname isn't available
Lucas De Marchi18811d22013-08-22 10:44:08 -030014 - Fix getting boolean parameter from kernel cmdline in case the value
15 is omitted
16 - Fix some mkdir_p() corner cases (used in testsuite and static-nodes)
Lucas De Marchib3e19ce2013-07-17 02:31:36 -030017
18- New features:
19 - kmod static-nodes creates parent directories if given a -o option
Lucas De Marchi18811d22013-08-22 10:44:08 -030020 - kmod binary statically links to libkmod - if distro is only interested
21 in the kmod tool (for example in an initrd) it can refrain from
22 installing the library
23 - Add shell completion for kmod tool
Lucas De Marchib3e19ce2013-07-17 02:31:36 -030024
Lucas De Marchi3b38c7f2013-07-03 12:42:04 -030025kmod 14
26=======
27
28- Bug fixes:
29 - Fix some format strings
30 - Protect against NULL being passed around to index
31 - Avoid calling syscall() with -1 when finit_module() is not available,
32 since this doesn't always work
33 - Fix not being able to remove alias due to checking the module's
34 refcount
35 - Minor fixes and refactors
36
37- New features:
38 - Improve libkmod documentation, particularly on how flags are dealt
39 with.
40 - Remove ability to build a static libkmod
41 - Add static-nodes command to kmod that parses modules.devname
42 generating output in useful formats
43
Lucas De Marchiabb910e2013-04-09 19:35:32 -030044kmod 13
45=======
46
47- Bug fixes:
48 - Add the long option --symbol-prefix option to depmod (it was absent)
49 and fix its behavior
50 - Don't abort if there's a bogus line in configuration file like "alias
51 psmouse off". Some distros are carrying this since the days of
52 modutils
53
54- New features:
55 - Add support for finit_module(2). If the module is load straight from
56 the disk and without compression we use finit_module() syscall when
57 available, falling back to init_module() otherwise
58 - kmod_module_get_info() also returns the signature if the module is
59 signed and modinfo uses it
60 - Use secure_getenv if available
61 - rmmod understands builtin modules, just like modprobe does
62 - Improve compatibility with musl-libc
63 - Test cases exit with success when receiving a signal if they are
64 xfail tests
65
Lucas De Marchi6feba022012-12-05 01:39:17 -020066kmod 12
67=======
68
69- Bug fixes:
70 - Fix removing vermagic from module when told to force load a module
71 - Fix removing __versions section when told to force load a module: we
72 need to mangle the section header, not the section.
73 - modinfo no longer fails while loading a module from file when path
74 contains ".ko" substring
75
Lucas De Marchic5996062012-11-08 02:30:21 -020076kmod 11
77=======
78
79- Improvements to testsuite:
80 - Fix testsuite defining symbols twice on 32 bit systems
81 - Allow to check generated files against correct ones
82
83- New features:
84 - libkmod now keeps a file opened after the first call to
85 kmod_module_get_{info,versions,symbols,dependency_symbols}. This
86 reduces signficantly the amount of time depmod tool takes to
87 execute. Particularly if compressed modules are used.
88 - Remove --with-rootprefix from build system. It was not a great idea
89 after all and should not be use since it causes more harm then
90 benefits.
91 - Hide --wait option on rmmod. This feature is being targeted for
92 removal from kernel. rmmod still accepts this option, but it's hidden
Lucas De Marchi7ab88042013-09-20 01:30:07 -050093 now: man page and usage() say nothing about it and if it's used,
Lucas De Marchic5996062012-11-08 02:30:21 -020094 user will get a 10s sleep. This way we can check and help if anyone
95 is using this feature.
96 - Refactor message logging on all tools, giving proper prefix, routing
97 everything to syslog when asked for, etc.
98
99- Bug fixes:
100 - Fix parsing of modules.order when using compressed modules
101 - Usage messages go to stdout instead of stderr
102 - Fix memory leak in hash implementation
103
Lucas De Marchi40758602012-09-06 16:26:53 -0300104kmod 10
105=======
106
107- New features:
108 - Read coresize from /sys if supported
109
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200110 - Add flag to kmod_module_probe_insert() to apply blacklisting during
111 probe only if mod is an alias. Now modprobe uses this flag by default.
Lucas De Marchi40758602012-09-06 16:26:53 -0300112 This is needed to fix a change in behavior regarding module-init-tools
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200113 and ultimately makes us loading a blacklisted module.
Lucas De Marchi40758602012-09-06 16:26:53 -0300114
115- Better formatting in man pages
116
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200117- Add option to disable building man pages at build time
Lucas De Marchi40758602012-09-06 16:26:53 -0300118
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200119- Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries
Lucas De Marchi40758602012-09-06 16:26:53 -0300120
121- Re-licensing testsuite as LGPL
122
Lucas De Marchi62081c02012-06-19 19:46:53 -0300123kmod 9
124======
125
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200126- Improvements to the testsuite:
Lucas De Marchi62081c02012-06-19 19:46:53 -0300127 - Check for correct handling of softdep loops
128 - Check for correct handling of install command loops
129
130- Bug fixes:
131 - Fix build with compilers that don't support --gc-sections
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200132 - Handle errors when dealing with gzipped modules
133 - depmod now handles errors while writing indices, so it doesn't end up
134 with a corrupted index without telling the user
Lucas De Marchi62081c02012-06-19 19:46:53 -0300135
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300136kmod 8
137======
138
139- No new features, small bug fixes only.
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200140 - Fix a bug in "modprobe -c" output: be compatible with
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300141 module-init-tools
142
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200143 - Give a useful error message when init_module fails due to bad
144 parameter or unknown symbols
Lucas De Marchi46684bc2012-04-19 11:21:00 -0300145
146 - Fix doc generation
147
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300148kmod 7
149======
150
151- Re-order dirs for configuration files to match the change in systemd and
152 udev: now the priority is:
153 1. /etc/modprobe.d
154 2. /run/modprobe.d
155 3. /lib/modprobe.d
156
Jan Engelhardta7fbae02012-09-14 01:55:54 +0200157- Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not
158 allowing the user to set his preferences.
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300159
160- Bug fixes:
161 - Return same error codes of module-init-tools when removing modules
162 with modprobe
163 - Fix builtin output in "--show-depends" when target kernel is not the
164 same of the running kernel
165 - 'modprobe -r' always look at all command line arguments
166 - Fix '-q' usage in modprobe
Lucas De Marchi8885ced2012-03-19 08:23:14 -0300167
Lucas De Marchi26906fe2012-03-02 22:34:36 -0300168kmod 6
169======
170
171- New API in libkmod:
172 - kmod_module_apply_filter(): a generic function to apply filters in a
173 list of modules. This deprecates the use of
174 kmod_module_get_filtered_blacklist()
175
176- More tests in testsuite
177
178- Add compatibility with uClibc again
179
180- Lookup modules.builtin.bin to decide if a module is built in kernel
181
182- Downgrade some log messages so we don't annoy people with useless messages
183
184- Bug fixes:
185 - Flag --ignore-loaded was not being properly handled
186 - Infinite loop with softdeps
187 - Infinite loop with dumb user configuration with install commands
188 - Fix leak in index when there's a partial match
189
190- Move repository and tarballs to kernel.org
191
Lucas De Marchie4795982012-02-06 20:34:33 -0200192kmod 5
193======
194
195- Break libkmod's API to insert a module like modprobe does. It now accepts
196 extra an extra argument to print its action and acceptable flags were
197 sanitized.
198
199- Share more code between modprobe and libkmod: using the new version of
200 kmod_module_probe_insert_module() it's possible to share a great amount of
201 code between modprobe and libkmod
202
203- modprobe no longer works with paths: it only accepts module names and/or
204 aliases now.
205
206- testsuite was added to repository, allowing automated tests to be run and
207 easing the way bugs are reproduced.
208
209- modprobe: when dumping configuration ('-c' option) separate config
210 and indexes by adding a commented line between them.
211
212- Fix bugs wrt normalizing aliases and module names
213
214- Fix bug wrt inserting an alias that resolves to multiple modules: we should
215 not stop on the first error, but rather continue to try loading other
216 modules.
217
218- Fix unaligned memory access in hash function, causing depmod to output wrong
219 information in ARMv5
220
221- Fix man page build and install: now they are only installed if tools are
222 enabled
223
Lucas De Marchib53b7e32012-01-16 16:53:04 -0200224kmod 4
225======
226
227- New APIs in libkmod to:
228 - Get configuration lists: blacklists, install commands, remove
229 commands, aliases, options and softdeps
230 - Dump indexes
231
232- Several bugs fixed in libkmod, modprobe, depmod and modinfo
233
234- API documentation: if configure with run with --enable-gtk-doc, the API doc
235 will be generated by make. Gtk-doc is required for that.
236
237- Man pages are built, which replace man pages from module-init-tools
238
239- 'include' and 'config' options in *.conf files were deprecated
240
241- configure is not run by autogen.sh. Instead, a common set of options is
242 printed. If you are hacking on kmod, consider using bootstrap-configure
243 script.
244
245- 'modprobe -c' works as expected now. As opposed to module-init-tools, it
246 dumps the parsed configuration, not only the file contents.
247
Lucas De Marchib30a71b2012-01-04 22:27:58 -0200248kmod 3
249======
250
251- New APIs in libkmod to:
252 - Get symbols from module, parsing the ELF section
253 - Get dependency symbols
254 - Check if resources are still valid or if libkmod must be reloaded
255 - Insert module like modprobe, checking (soft-)dependencies, commands,
256 blacklist. It can run commands by itself and to call a callback
257 function.
258
259- Support to load modules compressed with xz
260
261- Tools are now bundled together in a single tool called kmod. It can be
262 called using symlinks with the same names as tools from module-init-tools.
263 E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a
264 1:1 replacement of module-init-tools.
265
266- The only missing tool, depmod, was added to kmod together with the necessary
267 APIs in libkmod.
268
269- If a program using libkmod runs for a long time, as for example udev, it must
270 check if it doesn't have to re-load libkmod. A new helper function was added
271 in libkmod to check if context is still valid and udev is already using it.
272
273- An 'unaligned access' bug was fixed. So those architecture that does not
274 handle unaligned access can use kmod, too.
275
Lucas De Marchiacc18b12011-12-20 23:48:46 -0200276kmod 2
277======
278
279Some bugs fixed: the worst of them was with an infinite loop when an alias
280matched more than one module.
281
282- New APIs in libkmod to:
283 - Get soft dependencies
284 - Get info from module files parsing ELF
285 - Get modversions from files parsing ELF
286
287- Support to load gzipped kernel modules: kmod can be compiled with support to
288 gzipped modules by giving the --enable-zlib flag
289
290- Support to forcefully load modules, both vermagic and modversion
291
292- Support to force and nowait removal flags
293
294- Configuration files are parsed in the same order as modprobe: files are
295 sorted alphabetically (independently of their dir) and files with the same
296 name obey a precedence order
297
298- New tool: kmod-modinfo
299
300- kmod-modprobe gained several features to be a 1:1 replacement for modprobe.
301 The only missing things are the options '--showconfig' and '-t / -l'. These
302 last ones have been deprecated long ago and they will be removed from
303 modprobe. A lot of effort has been put on kmod-modprobe to ensure it
304 maintains compabitility with modprobe.
305
306- linux-modules@vger.kernel.org became the official mailing list for kmod
307
Lucas De Marchi89eba7c2011-12-15 15:43:58 -0200308kmod 1
309======
Lucas De Marchiecd40ee2011-11-21 12:35:15 -0200310
Lucas De Marchi89eba7c2011-12-15 15:43:58 -0200311First version of kmod and its library, libkmod.
312
313In the libkmod it's currently possible to:
314 - List modules currently loaded
315 - Get information about loaded modules such as initstate, refcount,
316 holders, sections, address and size
317 - Lookup modules by alias, module name or path
318 - Insert modules: options from configuration and extra options can be
319 passed, but flags are not implemented, yet
320 - Remove modules
321 - Filter list of modules using blacklist
322 - For each module, get the its list of options and install/remove
323 commands
324 - Indexes can be loaded on startup to speedup lookups later
325
326Tools provided with the same set of options as in module-init-tools:
327 - kmod-lsmod
328 - kmod-insmod
329 - kmod-rmmod
330 - kmod-modprobe, with some functionality still missing (use of softdep,
331 dump configuration, show modversions)