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