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