]> git.ipfire.org Git - thirdparty/kmod.git/blobdiff - NEWS
kmod 22
[thirdparty/kmod.git] / NEWS
diff --git a/NEWS b/NEWS
index 8f2c1d7eae051a55f947ca101c83cb94dff95fde..8bf8346db723afac2c7a381e88ba7a53d5fbbc58 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,193 @@
+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
 =======
 
@@ -66,7 +256,7 @@ kmod 11
          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() says nothing about it and if it's used,
+         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