mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-12-19 21:16:11 +07:00
342 lines
11 KiB
Plaintext
342 lines
11 KiB
Plaintext
kmod 16
|
|
=======
|
|
|
|
- Bug fixes:
|
|
- Fix usage of readdir_r()
|
|
- Add some missing checks for memory allocation errors
|
|
|
|
- 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
|
|
- Use cleanup attribute
|
|
|
|
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)
|