5 - Fix removing vermagic from module when told to force load a module
6 - Fix removing __versions section when told to force load a module: we
7 need to mangle the section header, not the section.
8 - modinfo no longer fails while loading a module from file when path
9 contains ".ko" substring
14 - Improvements to testsuite:
15 - Fix testsuite defining symbols twice on 32 bit systems
16 - Allow to check generated files against correct ones
19 - libkmod now keeps a file opened after the first call to
20 kmod_module_get_{info,versions,symbols,dependency_symbols}. This
21 reduces signficantly the amount of time depmod tool takes to
22 execute. Particularly if compressed modules are used.
23 - Remove --with-rootprefix from build system. It was not a great idea
24 after all and should not be use since it causes more harm then
26 - Hide --wait option on rmmod. This feature is being targeted for
27 removal from kernel. rmmod still accepts this option, but it's hidden
28 now: man page and usage() says nothing about it and if it's used,
29 user will get a 10s sleep. This way we can check and help if anyone
30 is using this feature.
31 - Refactor message logging on all tools, giving proper prefix, routing
32 everything to syslog when asked for, etc.
35 - Fix parsing of modules.order when using compressed modules
36 - Usage messages go to stdout instead of stderr
37 - Fix memory leak in hash implementation
43 - Read coresize from /sys if supported
45 - Add flag to kmod_module_probe_insert() to apply blacklisting during
46 probe only if mod is an alias. Now modprobe uses this flag by default.
47 This is needed to fix a change in behavior regarding module-init-tools
48 and ultimately makes us loading a blacklisted module.
50 - Better formatting in man pages
52 - Add option to disable building man pages at build time
54 - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries
56 - Re-licensing testsuite as LGPL
61 - Improvements to the testsuite:
62 - Check for correct handling of softdep loops
63 - Check for correct handling of install command loops
66 - Fix build with compilers that don't support --gc-sections
67 - Handle errors when dealing with gzipped modules
68 - depmod now handles errors while writing indices, so it doesn't end up
69 with a corrupted index without telling the user
74 - No new features, small bug fixes only.
75 - Fix a bug in "modprobe -c" output: be compatible with
78 - Give a useful error message when init_module fails due to bad
79 parameter or unknown symbols
86 - Re-order dirs for configuration files to match the change in systemd and
87 udev: now the priority is:
92 - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not
93 allowing the user to set his preferences.
96 - Return same error codes of module-init-tools when removing modules
98 - Fix builtin output in "--show-depends" when target kernel is not the
99 same of the running kernel
100 - 'modprobe -r' always look at all command line arguments
101 - Fix '-q' usage in modprobe
106 - New API in libkmod:
107 - kmod_module_apply_filter(): a generic function to apply filters in a
108 list of modules. This deprecates the use of
109 kmod_module_get_filtered_blacklist()
111 - More tests in testsuite
113 - Add compatibility with uClibc again
115 - Lookup modules.builtin.bin to decide if a module is built in kernel
117 - Downgrade some log messages so we don't annoy people with useless messages
120 - Flag --ignore-loaded was not being properly handled
121 - Infinite loop with softdeps
122 - Infinite loop with dumb user configuration with install commands
123 - Fix leak in index when there's a partial match
125 - Move repository and tarballs to kernel.org
130 - Break libkmod's API to insert a module like modprobe does. It now accepts
131 extra an extra argument to print its action and acceptable flags were
134 - Share more code between modprobe and libkmod: using the new version of
135 kmod_module_probe_insert_module() it's possible to share a great amount of
136 code between modprobe and libkmod
138 - modprobe no longer works with paths: it only accepts module names and/or
141 - testsuite was added to repository, allowing automated tests to be run and
142 easing the way bugs are reproduced.
144 - modprobe: when dumping configuration ('-c' option) separate config
145 and indexes by adding a commented line between them.
147 - Fix bugs wrt normalizing aliases and module names
149 - Fix bug wrt inserting an alias that resolves to multiple modules: we should
150 not stop on the first error, but rather continue to try loading other
153 - Fix unaligned memory access in hash function, causing depmod to output wrong
156 - Fix man page build and install: now they are only installed if tools are
162 - New APIs in libkmod to:
163 - Get configuration lists: blacklists, install commands, remove
164 commands, aliases, options and softdeps
167 - Several bugs fixed in libkmod, modprobe, depmod and modinfo
169 - API documentation: if configure with run with --enable-gtk-doc, the API doc
170 will be generated by make. Gtk-doc is required for that.
172 - Man pages are built, which replace man pages from module-init-tools
174 - 'include' and 'config' options in *.conf files were deprecated
176 - configure is not run by autogen.sh. Instead, a common set of options is
177 printed. If you are hacking on kmod, consider using bootstrap-configure
180 - 'modprobe -c' works as expected now. As opposed to module-init-tools, it
181 dumps the parsed configuration, not only the file contents.
186 - New APIs in libkmod to:
187 - Get symbols from module, parsing the ELF section
188 - Get dependency symbols
189 - Check if resources are still valid or if libkmod must be reloaded
190 - Insert module like modprobe, checking (soft-)dependencies, commands,
191 blacklist. It can run commands by itself and to call a callback
194 - Support to load modules compressed with xz
196 - Tools are now bundled together in a single tool called kmod. It can be
197 called using symlinks with the same names as tools from module-init-tools.
198 E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a
199 1:1 replacement of module-init-tools.
201 - The only missing tool, depmod, was added to kmod together with the necessary
204 - If a program using libkmod runs for a long time, as for example udev, it must
205 check if it doesn't have to re-load libkmod. A new helper function was added
206 in libkmod to check if context is still valid and udev is already using it.
208 - An 'unaligned access' bug was fixed. So those architecture that does not
209 handle unaligned access can use kmod, too.
214 Some bugs fixed: the worst of them was with an infinite loop when an alias
215 matched more than one module.
217 - New APIs in libkmod to:
218 - Get soft dependencies
219 - Get info from module files parsing ELF
220 - Get modversions from files parsing ELF
222 - Support to load gzipped kernel modules: kmod can be compiled with support to
223 gzipped modules by giving the --enable-zlib flag
225 - Support to forcefully load modules, both vermagic and modversion
227 - Support to force and nowait removal flags
229 - Configuration files are parsed in the same order as modprobe: files are
230 sorted alphabetically (independently of their dir) and files with the same
231 name obey a precedence order
233 - New tool: kmod-modinfo
235 - kmod-modprobe gained several features to be a 1:1 replacement for modprobe.
236 The only missing things are the options '--showconfig' and '-t / -l'. These
237 last ones have been deprecated long ago and they will be removed from
238 modprobe. A lot of effort has been put on kmod-modprobe to ensure it
239 maintains compabitility with modprobe.
241 - linux-modules@vger.kernel.org became the official mailing list for kmod
246 First version of kmod and its library, libkmod.
248 In the libkmod it's currently possible to:
249 - List modules currently loaded
250 - Get information about loaded modules such as initstate, refcount,
251 holders, sections, address and size
252 - Lookup modules by alias, module name or path
253 - Insert modules: options from configuration and extra options can be
254 passed, but flags are not implemented, yet
256 - Filter list of modules using blacklist
257 - For each module, get the its list of options and install/remove
259 - Indexes can be loaded on startup to speedup lookups later
261 Tools provided with the same set of options as in module-init-tools:
265 - kmod-modprobe, with some functionality still missing (use of softdep,
266 dump configuration, show modversions)