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