]> git.ipfire.org Git - thirdparty/kmod.git/blobdiff - NEWS
libkmod: annotate kmod_builtin_iter API as static
[thirdparty/kmod.git] / NEWS
diff --git a/NEWS b/NEWS
index 1c80582885cfe6aaea8cda3cb91323996a6fb261..fe95103ba9095a4b10929890c65f8486973b5b48 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,142 @@
+kmod 30
+=======
+
+- Improvements
+       - Stop adding duplicate information on modules.builtin.alias.bin, just use
+         the modules.builtin.bin index
+
+       - Speedup depmod, particularly under qemu with emulated arch, by
+         avoiding a lot of open/read/close of modules.alias.bin. On an
+         emulated ARM rootfs, depmod with only 2 modules was taking ~32s
+         vs ~0.07s now.
+
+       - Add kmod_module_new_from_name_lookup() which allows doing a lookup by
+         module name, without considering the aliases. Other than that search
+         order is similar to kmod_module_new_from_lookup().
+
+       - modinfo learned the --modname option to explicitely show information
+         about the module, even if there is an alias with the same name. This
+         allows showing information about e.g. kernel/lib/crc32.ko, even if
+         kernel also exports a crc32 alias in modules.alias:
+
+               alias crc32 crc32_pclmul
+               alias crc32 crc32_generic
+
+         Same behavior will be used to other modules and to aliases provided
+         by user/distro.
+
+       - depmod.conf learned a new "excludedir" directive so distro/user can
+         configure more directories to be excluded from its search, besides
+         the hardcoded values "build" and "source".
+
+       - Better group modprobe options on help output under "Management, Query and General".
+
+       - modprobe learned a --wait <MSEC> option to be used together with -r
+         when removing a module. This allows modprobe to keep trying the
+         removal if it fails because the module is still in use. An exponential backoff
+         time is used for further retries.
+
+         The wait behavior provided by the kernel when not passing O_NONBLOCK
+         to delete_module() was removed in v3.13 due to not be used and the
+         consequences of having to support it in the kernel. However there may
+         be some users, particularly on testsuites for individual susbsystems, that
+         would want that. So provide a userspace implementation inside modprobe for
+         such users. "rmmod" doesn't have a --wait as it remains a bare minimal over
+         the API provided by the kernel. In future the --wait behavior can be added
+         to libkmod for testsuites not exec'ing modprobe for module removal.
+
+       - kmod_module_remove_module() learned a new flag to silence output when
+         caller wants to handle them - this is particularly important for the
+         --wait flag to modprobe, as it's not desired to keep seeing error messages
+         while waiting for the module to be unused.
+
+       - Add SM3 hash algo support to modinfo output, as already available in the kernel.
+
+- Bug Fixes
+       - Fix modinfo output when showing information for a .ko module when running
+         on a kernel that has that module as builtin.
+
+       - Fix kmod_module_new_from_lookup() returning > 0 rather than 0
+         when it matches an alias.
+
+       - Fix modinfo segfault when module doesn't exist.
+
+       - Add missing function in the html documentation: kmod_get_dirname().
+
+       - Fix modprobe incorrectly handling number of arguments when prepending values from
+         MODPROBE_OPTIONS environment variable.
+
+       - Fix modprobe -r --remove-dependencies and since "dependencies" was a
+         misnomer, add the preferred argument option: "--remove-holders". This
+         is the same name used by the kernel. It allows users to also remove
+         other modules holding the one that is being removed.
+
+       - Fix off-by-one in max module name length in depmod.
+
+- Infra/internal
+       - Start some changes in the out-of-tree test modules in kmod so they are useful
+         for being really inserted in the kernel rather than relying on kmod's mock
+         interface. This helps manual testing and may be used to exercise to test
+         changes in the kernel.
+
+kmod 29
+=======
+
+- Improvements
+       - Add support to use /usr/local as a place for configuration files. This makes it easier
+         to install locally without overriding distro files.
+
+- Bug fixes
+       - Fix `modinfo -F` when module is builtin: when we asked by a specific field from modinfo,
+         it was not working correctly if the module was builtin
+
+       - Documentation fixes on precedence order of /etc and /run: the correct order is
+         /etc/modprobe.d, /run/modprobe.d, /lib/modprobe.d
+
+       - Fix the priority order that we use for searching configuration files. The
+         correct one is /etc, /run, /usr/local/lib, /lib, for both modprobe.d
+         and depmo.d
+
+       - Fix kernel command line parsing when there are quotes present. Grub
+         mangles the command line and changes it from 'module.option="val with
+         spaces"' to '"module.option=val with spaces"'. Although this is weird
+         behavior and grub could have been fixed, the kernel understands it
+         correctly for builtin modules. So change libkmod to also parse it
+         correctly. This also brings another hidden behavior from the kernel:
+         newline in the kernel command line is also allowed and can be used to
+         separate options.
+
+       - Fix a memory leak, overflow and double free on error path
+
+       - Fix documentation for return value from kmod_module_get_info(): we
+         return the number of entries we added to the list
+
+       - Fix output of modules.builtin.alias.bin index: we were writing an empty file due to
+         the misuse of kmod_module_get_info()
+
+- Infra/internal
+       - Retire integration with semaphoreci
+
+       - Declare the github mirror also as an official upstream source: now besides accepting
+         patches via mailing list, PRs on github are also acceptable
+
+       - Misc improvements to testsuite, so we can use it reliably regardless
+         of the configuration used: now tests will skip if we don't have the
+         build dependencies)
+
+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
 =======
 
@@ -415,7 +554,7 @@ kmod 11
 - 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
+         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