677 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			677 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
kmod 28
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements
 | 
						|
	- Add Zstandard to the supported compression formats using libzstd
 | 
						|
	  (pass --with-zstd to configure)
 | 
						|
 | 
						|
- Bug fixes
 | 
						|
	- Ignore ill-formed kernel command line, e.g. with "ivrs_acpihid[00:14.5]=AMD0020:0"
 | 
						|
	  option in it
 | 
						|
	- Fix some memory leaks
 | 
						|
	- Fix 0-length builtin.alias.bin: it needs at least the index header
 | 
						|
 | 
						|
kmod 27
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements
 | 
						|
	- Link to libcrypto rather than requiring openssl
 | 
						|
 | 
						|
	- Print a better error message when kernel doesn't support module unload
 | 
						|
 | 
						|
	- Use PKCS#7 instead of CMS for parsing module signature to be
 | 
						|
	  compatible with LibreSSL and OpenSSL < 1.1.0
 | 
						|
 | 
						|
	- Teach modinfo to parse modules.builtin.modinfo. When using Linux kernel
 | 
						|
	  >= v5.2-rc1 it's possible to get module information from this new file. Now
 | 
						|
	  modinfo is able to show it instead of an error message that the module is
 | 
						|
	  built-in:
 | 
						|
 | 
						|
	  Before:
 | 
						|
	  $ modinfo ext4
 | 
						|
	  modinfo: ERROR: Module ext4 not found.
 | 
						|
 | 
						|
	  After:
 | 
						|
	  $ modinfo ext4
 | 
						|
	  name:           ext4
 | 
						|
	  filename:       (builtin)
 | 
						|
	  softdep:        pre: crc32c
 | 
						|
	  license:        GPL
 | 
						|
	  description:    Fourth Extended Filesystem
 | 
						|
	  author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
 | 
						|
	  alias:          fs-ext4
 | 
						|
	  alias:          ext3
 | 
						|
	  alias:          fs-ext3
 | 
						|
	  alias:          ext2
 | 
						|
	  alias:          fs-ext2
 | 
						|
 | 
						|
- Bug fixes
 | 
						|
	- Do not link python bindings with libpython to be compatible with
 | 
						|
	  python3.8
 | 
						|
 | 
						|
	- Fix module removal with `modprobe -r` when a dependency is built-in.
 | 
						|
	  Now it properly ignores them and proceed with removal of other
 | 
						|
	  dependencies
 | 
						|
 | 
						|
	- Fix propagation of return code from install/remove commands to the
 | 
						|
	  the probe function. The return values of kmod_module_probe_insert_module()
 | 
						|
	  have very specific meanings, do not confuse the caller by return codes
 | 
						|
	  from system()
 | 
						|
 | 
						|
	- Fix softdep config parsing leading to buffer overflow
 | 
						|
 | 
						|
kmod 26
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements
 | 
						|
	- Add more error-checking in library functions and remove warnings on newer
 | 
						|
	  toolchains
 | 
						|
 | 
						|
	- Depmod now handles parallel invoctions better by protecting the temporary
 | 
						|
	  files being used
 | 
						|
 | 
						|
	- Improvements to testsuite and added tests to check the our behavior
 | 
						|
	  regardless of the features enabled in the kernel, or libraries we link to
 | 
						|
 | 
						|
	- Teach the --show-exports option to modprobe. This works similarly to
 | 
						|
	  --show-modversions, but it reports the exported symbols from that module.
 | 
						|
	  Under the hood this reads the .symtab and .strtab section rather than
 | 
						|
	  __versions so it shows useful data even if kernel is configured without
 | 
						|
	  modversions (CONFIG_MODVERSIONS)
 | 
						|
 | 
						|
	- Teach pkcs7 parsing to modinfo by using openssl. This allows modinfo to
 | 
						|
	  correctly parse the signature appended to a module by the kernel build
 | 
						|
	  system when configured with CONFIG_MODULE_SIG_ALL, or when externally
 | 
						|
	  signed by the distro. Traditionally modules were signed and a struct
 | 
						|
	  was appended together with the signature to the end of the module.
 | 
						|
	  This has changed on the kernel for pkcs#7 and now the structure isn't
 | 
						|
	  filled out with useful information.  So we have to parse the signature
 | 
						|
	  block in order to return useful data to the user.
 | 
						|
 | 
						|
	  If kmod is linked with openssl we parse the signature and return the
 | 
						|
	  fields as we do for other signatures. An example of the relevant part
 | 
						|
	  on the output of modinfo is below:
 | 
						|
 | 
						|
	  Before:
 | 
						|
		  sig_id:         PKCS#7
 | 
						|
		  signer:
 | 
						|
		  sig_key:
 | 
						|
		  sig_hashalgo:   md4
 | 
						|
	  After:
 | 
						|
		  sig_id:         PKCS#7
 | 
						|
		  signer:         Fedora kernel signing key
 | 
						|
		  sig_key:        51:C4:0C:6D:7E:A5:6C:D8:8F:B4:3A:DF:91:78:4F:18:BC:D5:E4:C5
 | 
						|
		  sig_hashalgo:   sha256
 | 
						|
 | 
						|
	  If kmod is not linked to openssl we just start printing "unknonwn" in the
 | 
						|
	  sig_hashalgo field rather than the bogus value.
 | 
						|
 | 
						|
 | 
						|
kmod 25
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements
 | 
						|
	- Add module signature to modinfo output
 | 
						|
 | 
						|
	- Add support for external directories in depmod: now there's a new
 | 
						|
	  "external" keyword parsed by depmod when calculating the dependencies.
 | 
						|
	  It allows to add modules to other directories which are not relative
 | 
						|
	  to where the modules are commonly installed.  This results in
 | 
						|
	  modules.dep and friends now understanding absolute paths rather than
 | 
						|
	  relative paths only. For more information see depmod.d(1).
 | 
						|
 | 
						|
	- Add support for CONFIG_MODULE_REL_CRCS
 | 
						|
 | 
						|
	- Add missing documentation references in man pages
 | 
						|
 | 
						|
	- Handle the case in which module has a .TOC symbol already while
 | 
						|
	  calculating dependencies
 | 
						|
 | 
						|
	- Improve testsuite and allow to use mkosi to run testsuite in different
 | 
						|
	  distros
 | 
						|
 | 
						|
kmod 24
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements:
 | 
						|
	- Add more information on dependency loop
 | 
						|
 | 
						|
	- Sanitize use of strcpy and allow to grow from small strings on stack
 | 
						|
	  (common case) to bigger strings on heap when needed
 | 
						|
 | 
						|
- Bug fixes
 | 
						|
	- Fix wrong dependency loops being reported by depmod
 | 
						|
 | 
						|
	- Fix crashes when reporting dependency loops
 | 
						|
 | 
						|
	- Fix parsing kernel command line containing quotes
 | 
						|
 | 
						|
	- Fix leaks on error paths
 | 
						|
 | 
						|
kmod 23
 | 
						|
=======
 | 
						|
 | 
						|
- Improvements:
 | 
						|
	- Don't add comment to modules.devname if it would otherwise be empty
 | 
						|
	  to play nice with tools detecting empty files
 | 
						|
 | 
						|
	- Allow building with BSD sed, that doesn't have -E flag
 | 
						|
 | 
						|
	- Ignore .TOC. symbols in depmod parsing as it's for PPC64 the
 | 
						|
	  equivalent of _GLOBAL_OFFSET_TABLE_
 | 
						|
 | 
						|
	- Teach modinfo about PKCS#7 module signatures: it doesn't add any
 | 
						|
	  other info besides telling the user the module is signed since
 | 
						|
	  kernel doesn't add other info on the module section
 | 
						|
 | 
						|
- Bug fixes
 | 
						|
 | 
						|
	- Fix -s and -p compat options to insmod triggering force flag
 | 
						|
 | 
						|
	- Fix long lines from /proc/modules not being handled correctly by
 | 
						|
	  kmod_module_new_from_loaded() and kmod_module_get_size() and several
 | 
						|
	  other library functions that use them
 | 
						|
 | 
						|
	- Fix crash on modinfo while checking for available signature of
 | 
						|
	  unknown type
 | 
						|
 | 
						|
	- Fix documentation generation with gtk-doc
 | 
						|
 | 
						|
kmod 22
 | 
						|
=======
 | 
						|
 | 
						|
- Tools:
 | 
						|
	- Change defaul log level for tools to WARNING rather than ERROR and update
 | 
						|
	  some log levels for current messages
 | 
						|
 | 
						|
	- depmod doesn't fallback to uname if a bad version is passed in the command
 | 
						|
	  line anymore. We just exit with an error.
 | 
						|
 | 
						|
	- insmod was taught the -f flag, just like in modprobe. It was previously
 | 
						|
	  silently ignoring it.
 | 
						|
 | 
						|
- libkmod
 | 
						|
	- New kmod_get_dirname() API to get the module directory set in the
 | 
						|
	  context
 | 
						|
 | 
						|
- Bug fixes:
 | 
						|
	- Fix return code in error path of kmod_module_insert_module(). We were
 | 
						|
	  previously returning ENOSYS rather than ENOENT.
 | 
						|
 | 
						|
kmod 21
 | 
						|
=======
 | 
						|
 | 
						|
- New features:
 | 
						|
	- kmod tool started to learn the "insert" and "remove" commands that
 | 
						|
	  are the simplified versions of the older modprobe tool.  These
 | 
						|
	  commands are still work in progress so they are hidden behind a
 | 
						|
	  --enable-experimental flag during build.  It should not be enabled
 | 
						|
	  unless you know what you're doing.
 | 
						|
	- kmod tool now prints the relevant configuration options it was built
 | 
						|
	  with when the "--version" argument is passed. This helps to mitigate
 | 
						|
	  problems for example when the user is trying to load a compressed
 | 
						|
	  module but kmod was built without support for the compression method.
 | 
						|
 | 
						|
- Improvements to testsuite:
 | 
						|
	- Cache built modules so it is easier to run "make check" on build
 | 
						|
	  servers by distro maintainers. If kmod is configured with
 | 
						|
	  --disable-test-modules the modules from cache will be used by
 | 
						|
	  "make check". No changes to the tests are needed and all of them
 | 
						|
	  can run fine.
 | 
						|
 | 
						|
kmod 20
 | 
						|
=======
 | 
						|
- Bug fixes:
 | 
						|
	- Handle bogus values from ELF, making sure they don't overflow while
 | 
						|
	  parsing the file
 | 
						|
	- Fix leak in depmod when -b flag is passed multiple times
 | 
						|
	- Multiple minor fixes from static analysis by coverity and
 | 
						|
	  clang-analyze
 | 
						|
	- Fix race between loading modules and checking if it's loaded in the
 | 
						|
	  kernel
 | 
						|
 | 
						|
- New features:
 | 
						|
	- There's a change in behavior regarding builtin modules: we now only
 | 
						|
	  consider as builtin those that are present in modules.builtin index.
 | 
						|
	  Previously we were also checking the presence of
 | 
						|
	  /sys/module/<module-name>, but this is racy and only modules that
 | 
						|
	  contain parameters are the ones creating a directory in sysfs.
 | 
						|
 | 
						|
	  Now some commands will start to fail, e.g. "modprobe vt". Since vt
 | 
						|
	  can't be compiled as a module it's not present in modules.builtin
 | 
						|
	  index. Previously we would report at as builtin, but now we fail
 | 
						|
	  because we couldn't find the module.
 | 
						|
 | 
						|
- Improvements:
 | 
						|
	- Integration of gcov into the build. Currently libkmod is at ~70%
 | 
						|
	  covered and tools at ~50% by tests in the testsuite. Utility
 | 
						|
	  functions and structures in shared have more than 90% of coverage.
 | 
						|
	- Upload build to coverity
 | 
						|
 | 
						|
- Improvements to testsuite:
 | 
						|
	- Fix parsing return codes of init_module() calls
 | 
						|
	- Add tests for utility functions in shared/
 | 
						|
	- Add tests for kmod_module_remove_module()
 | 
						|
	- Add playground, in which our own modules are compiled
 | 
						|
	- Port all tests to use modules from module-playground instead of
 | 
						|
	  copying prebuilt modules to the repository
 | 
						|
	- Properly handle binaries that exit with no output
 | 
						|
	- Besides comparing the output of commands, allow to copy to
 | 
						|
	  stdout/stderr
 | 
						|
 | 
						|
kmod 19
 | 
						|
=======
 | 
						|
 | 
						|
- Bug fixes:
 | 
						|
	- Fix missing CLOEXEC in library
 | 
						|
	- Fix error message while opening kmod's index
 | 
						|
 | 
						|
- New features:
 | 
						|
	- Add kmod(8) man page
 | 
						|
	- Allow to build with libc's without be32toh()
 | 
						|
	- Move code around separating common code and data structures into a
 | 
						|
	  shared directory. This allows to share more code between library and
 | 
						|
	  tools, making the binary size of tools smaller.
 | 
						|
	- Clarify tools vs library licenses
 | 
						|
	- static-nodes: when writing in tmpfiles format, indicate that
 | 
						|
	  creation of static nodes should only happen at boot. This is used and
 | 
						|
	  required by systemd-217+.
 | 
						|
 | 
						|
- Improvements to testsuite:
 | 
						|
	- Add tests for newly created shared/ code
 | 
						|
	- Improve how tests are declared so there's less boilerplate code for
 | 
						|
	  each test.
 | 
						|
 | 
						|
kmod 18
 | 
						|
=======
 | 
						|
 | 
						|
- Bug fixes:
 | 
						|
	- Fix leaks in error paths
 | 
						|
	- Fix use-after-free in hash implementation causing a wrong index to be
 | 
						|
	  generated by depmod with out-of-tree modules
 | 
						|
 | 
						|
- New features:
 | 
						|
	- Calling depmod with modules creating a dependency loop will now make
 | 
						|
	  depmod return an error and not update the indexes. This is to protect
 | 
						|
	  the current index not being overridden by another index that may cause
 | 
						|
	  a boot failure, depending on the buggy module. It's a necessary
 | 
						|
	  change in behavior regarding previous kmod releases and
 | 
						|
	  module-init-tools. The error message was also improved to output
 | 
						|
	  the modules that caused the dependency cycle.
 | 
						|
 | 
						|
- Improvements to testsuite:
 | 
						|
	- Fix and improve expected-fail test
 | 
						|
	- Add tests for hashmap implementation
 | 
						|
 | 
						|
kmod 17
 | 
						|
=======
 | 
						|
 | 
						|
- Bug fixes:
 | 
						|
	- Fix matching a "." in kernel cmdline, making garbage in the command
 | 
						|
	  line be parsed as kmod options
 | 
						|
	- Fix man pages to clarify we don't fallback to parsing modules.dep
 | 
						|
	  but instead we depend on modules.dep.bin (generated by depmod) to
 | 
						|
	  be present
 | 
						|
	- Fix ELF parsing on 32 bit systems assigning the wrong class.
 | 
						|
	- Fix partial matches of search directives in depmod. Previously having
 | 
						|
	  a line in depmod.conf such as "search foo foobar built-in" would cause
 | 
						|
	  unpretictable results because foo is a partial match of foobar as well.
 | 
						|
	- Fix unaligned access in modinfo when getting the signature from a
 | 
						|
	  module
 | 
						|
	- Make sure softdeps are treated as optional dependencies
 | 
						|
 | 
						|
- New features:
 | 
						|
	- Accept special files given to "-C" switch in modprobe. This way it's
 | 
						|
	  possible to skip system configuration with "modprobe -C /dev/null"
 | 
						|
	- Do not require xsltproc on released tarballs
 | 
						|
	- Don't use Werror anymore
 | 
						|
	- Add experimental python bindings, merged from python-kmod repository
 | 
						|
	  (https://github.com/agrover/python-kmod)
 | 
						|
	- Parse softdeps exported by the kernel as
 | 
						|
	  /lib/modules/`uname -r`/modules.softdep
 | 
						|
 | 
						|
- Improvements to testsuite:
 | 
						|
	- Check the list of loaded modules after a test
 | 
						|
 | 
						|
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 significantly 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)
 |