| kmod 16 | |
| ======= | |
| - Bug fixes: | |
| - Fix usage of readdir_r() | |
| - New features: | |
| - Remove option from libkmod to allow waiting on module removal if | |
| the module is being used. It's dangerous since it can block the | |
| caller indefinitely. | |
| - Improve compatibility with musl libc | |
| - Add fallback implementation for compilers without _Static_assert(), | |
| e.g. gcc < 4.6 | |
| - Minor optimizations to the hash table | |
| - Make depmod warn if a module has incorrect devname specification | |
| kmod 15 | |
| ======= | |
| - Bug fixes: | |
| - kmod static-nodes doesn't fail if modules.devname isn't available | |
| - Fix getting boolean parameter from kernel cmdline in case the value | |
| is omitted | |
| - Fix some mkdir_p() corner cases (used in testsuite and static-nodes) | |
| - New features: | |
| - kmod static-nodes creates parent directories if given a -o option | |
| - kmod binary statically links to libkmod - if distro is only interested | |
| in the kmod tool (for example in an initrd) it can refrain from | |
| installing the library | |
| - Add shell completion for kmod tool | |
| kmod 14 | |
| ======= | |
| - Bug fixes: | |
| - Fix some format strings | |
| - Protect against NULL being passed around to index | |
| - Avoid calling syscall() with -1 when finit_module() is not available, | |
| since this doesn't always work | |
| - Fix not being able to remove alias due to checking the module's | |
| refcount | |
| - Minor fixes and refactors | |
| - New features: | |
| - Improve libkmod documentation, particularly on how flags are dealt | |
| with. | |
| - Remove ability to build a static libkmod | |
| - Add static-nodes command to kmod that parses modules.devname | |
| generating output in useful formats | |
| kmod 13 | |
| ======= | |
| - Bug fixes: | |
| - Add the long option --symbol-prefix option to depmod (it was absent) | |
| and fix its behavior | |
| - Don't abort if there's a bogus line in configuration file like "alias | |
| psmouse off". Some distros are carrying this since the days of | |
| modutils | |
| - New features: | |
| - Add support for finit_module(2). If the module is load straight from | |
| the disk and without compression we use finit_module() syscall when | |
| available, falling back to init_module() otherwise | |
| - kmod_module_get_info() also returns the signature if the module is | |
| signed and modinfo uses it | |
| - Use secure_getenv if available | |
| - rmmod understands builtin modules, just like modprobe does | |
| - Improve compatibility with musl-libc | |
| - Test cases exit with success when receiving a signal if they are | |
| xfail tests | |
| kmod 12 | |
| ======= | |
| - Bug fixes: | |
| - Fix removing vermagic from module when told to force load a module | |
| - Fix removing __versions section when told to force load a module: we | |
| need to mangle the section header, not the section. | |
| - modinfo no longer fails while loading a module from file when path | |
| contains ".ko" substring | |
| kmod 11 | |
| ======= | |
| - Improvements to testsuite: | |
| - Fix testsuite defining symbols twice on 32 bit systems | |
| - Allow to check generated files against correct ones | |
| - New features: | |
| - libkmod now keeps a file opened after the first call to | |
| kmod_module_get_{info,versions,symbols,dependency_symbols}. This | |
| reduces signficantly the amount of time depmod tool takes to | |
| execute. Particularly if compressed modules are used. | |
| - Remove --with-rootprefix from build system. It was not a great idea | |
| after all and should not be use since it causes more harm then | |
| benefits. | |
| - Hide --wait option on rmmod. This feature is being targeted for | |
| removal from kernel. rmmod still accepts this option, but it's hidden | |
| now: man page and usage() say nothing about it and if it's used, | |
| user will get a 10s sleep. This way we can check and help if anyone | |
| is using this feature. | |
| - Refactor message logging on all tools, giving proper prefix, routing | |
| everything to syslog when asked for, etc. | |
| - Bug fixes: | |
| - Fix parsing of modules.order when using compressed modules | |
| - Usage messages go to stdout instead of stderr | |
| - Fix memory leak in hash implementation | |
| kmod 10 | |
| ======= | |
| - New features: | |
| - Read coresize from /sys if supported | |
| - Add flag to kmod_module_probe_insert() to apply blacklisting during | |
| probe only if mod is an alias. Now modprobe uses this flag by default. | |
| This is needed to fix a change in behavior regarding module-init-tools | |
| and ultimately makes us loading a blacklisted module. | |
| - Better formatting in man pages | |
| - Add option to disable building man pages at build time | |
| - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries | |
| - Re-licensing testsuite as LGPL | |
| kmod 9 | |
| ====== | |
| - Improvements to the testsuite: | |
| - Check for correct handling of softdep loops | |
| - Check for correct handling of install command loops | |
| - Bug fixes: | |
| - Fix build with compilers that don't support --gc-sections | |
| - Handle errors when dealing with gzipped modules | |
| - depmod now handles errors while writing indices, so it doesn't end up | |
| with a corrupted index without telling the user | |
| kmod 8 | |
| ====== | |
| - No new features, small bug fixes only. | |
| - Fix a bug in "modprobe -c" output: be compatible with | |
| module-init-tools | |
| - Give a useful error message when init_module fails due to bad | |
| parameter or unknown symbols | |
| - Fix doc generation | |
| kmod 7 | |
| ====== | |
| - Re-order dirs for configuration files to match the change in systemd and | |
| udev: now the priority is: | |
| 1. /etc/modprobe.d | |
| 2. /run/modprobe.d | |
| 3. /lib/modprobe.d | |
| - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not | |
| allowing the user to set his preferences. | |
| - Bug fixes: | |
| - Return same error codes of module-init-tools when removing modules | |
| with modprobe | |
| - Fix builtin output in "--show-depends" when target kernel is not the | |
| same of the running kernel | |
| - 'modprobe -r' always look at all command line arguments | |
| - Fix '-q' usage in modprobe | |
| kmod 6 | |
| ====== | |
| - New API in libkmod: | |
| - kmod_module_apply_filter(): a generic function to apply filters in a | |
| list of modules. This deprecates the use of | |
| kmod_module_get_filtered_blacklist() | |
| - More tests in testsuite | |
| - Add compatibility with uClibc again | |
| - Lookup modules.builtin.bin to decide if a module is built in kernel | |
| - Downgrade some log messages so we don't annoy people with useless messages | |
| - Bug fixes: | |
| - Flag --ignore-loaded was not being properly handled | |
| - Infinite loop with softdeps | |
| - Infinite loop with dumb user configuration with install commands | |
| - Fix leak in index when there's a partial match | |
| - Move repository and tarballs to kernel.org | |
| kmod 5 | |
| ====== | |
| - Break libkmod's API to insert a module like modprobe does. It now accepts | |
| extra an extra argument to print its action and acceptable flags were | |
| sanitized. | |
| - Share more code between modprobe and libkmod: using the new version of | |
| kmod_module_probe_insert_module() it's possible to share a great amount of | |
| code between modprobe and libkmod | |
| - modprobe no longer works with paths: it only accepts module names and/or | |
| aliases now. | |
| - testsuite was added to repository, allowing automated tests to be run and | |
| easing the way bugs are reproduced. | |
| - modprobe: when dumping configuration ('-c' option) separate config | |
| and indexes by adding a commented line between them. | |
| - Fix bugs wrt normalizing aliases and module names | |
| - Fix bug wrt inserting an alias that resolves to multiple modules: we should | |
| not stop on the first error, but rather continue to try loading other | |
| modules. | |
| - Fix unaligned memory access in hash function, causing depmod to output wrong | |
| information in ARMv5 | |
| - Fix man page build and install: now they are only installed if tools are | |
| enabled | |
| kmod 4 | |
| ====== | |
| - New APIs in libkmod to: | |
| - Get configuration lists: blacklists, install commands, remove | |
| commands, aliases, options and softdeps | |
| - Dump indexes | |
| - Several bugs fixed in libkmod, modprobe, depmod and modinfo | |
| - API documentation: if configure with run with --enable-gtk-doc, the API doc | |
| will be generated by make. Gtk-doc is required for that. | |
| - Man pages are built, which replace man pages from module-init-tools | |
| - 'include' and 'config' options in *.conf files were deprecated | |
| - configure is not run by autogen.sh. Instead, a common set of options is | |
| printed. If you are hacking on kmod, consider using bootstrap-configure | |
| script. | |
| - 'modprobe -c' works as expected now. As opposed to module-init-tools, it | |
| dumps the parsed configuration, not only the file contents. | |
| kmod 3 | |
| ====== | |
| - New APIs in libkmod to: | |
| - Get symbols from module, parsing the ELF section | |
| - Get dependency symbols | |
| - Check if resources are still valid or if libkmod must be reloaded | |
| - Insert module like modprobe, checking (soft-)dependencies, commands, | |
| blacklist. It can run commands by itself and to call a callback | |
| function. | |
| - Support to load modules compressed with xz | |
| - Tools are now bundled together in a single tool called kmod. It can be | |
| called using symlinks with the same names as tools from module-init-tools. | |
| E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a | |
| 1:1 replacement of module-init-tools. | |
| - The only missing tool, depmod, was added to kmod together with the necessary | |
| APIs in libkmod. | |
| - If a program using libkmod runs for a long time, as for example udev, it must | |
| check if it doesn't have to re-load libkmod. A new helper function was added | |
| in libkmod to check if context is still valid and udev is already using it. | |
| - An 'unaligned access' bug was fixed. So those architecture that does not | |
| handle unaligned access can use kmod, too. | |
| kmod 2 | |
| ====== | |
| Some bugs fixed: the worst of them was with an infinite loop when an alias | |
| matched more than one module. | |
| - New APIs in libkmod to: | |
| - Get soft dependencies | |
| - Get info from module files parsing ELF | |
| - Get modversions from files parsing ELF | |
| - Support to load gzipped kernel modules: kmod can be compiled with support to | |
| gzipped modules by giving the --enable-zlib flag | |
| - Support to forcefully load modules, both vermagic and modversion | |
| - Support to force and nowait removal flags | |
| - Configuration files are parsed in the same order as modprobe: files are | |
| sorted alphabetically (independently of their dir) and files with the same | |
| name obey a precedence order | |
| - New tool: kmod-modinfo | |
| - kmod-modprobe gained several features to be a 1:1 replacement for modprobe. | |
| The only missing things are the options '--showconfig' and '-t / -l'. These | |
| last ones have been deprecated long ago and they will be removed from | |
| modprobe. A lot of effort has been put on kmod-modprobe to ensure it | |
| maintains compabitility with modprobe. | |
| - linux-modules@vger.kernel.org became the official mailing list for kmod | |
| kmod 1 | |
| ====== | |
| First version of kmod and its library, libkmod. | |
| In the libkmod it's currently possible to: | |
| - List modules currently loaded | |
| - Get information about loaded modules such as initstate, refcount, | |
| holders, sections, address and size | |
| - Lookup modules by alias, module name or path | |
| - Insert modules: options from configuration and extra options can be | |
| passed, but flags are not implemented, yet | |
| - Remove modules | |
| - Filter list of modules using blacklist | |
| - For each module, get the its list of options and install/remove | |
| commands | |
| - Indexes can be loaded on startup to speedup lookups later | |
| Tools provided with the same set of options as in module-init-tools: | |
| - kmod-lsmod | |
| - kmod-insmod | |
| - kmod-rmmod | |
| - kmod-modprobe, with some functionality still missing (use of softdep, | |
| dump configuration, show modversions) |