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