1*cc4ad7daSAndroid Build Coastguard Workerkmod 32 2*cc4ad7daSAndroid Build Coastguard Worker======= 3*cc4ad7daSAndroid Build Coastguard Worker 4*cc4ad7daSAndroid Build Coastguard Worker- Improvements 5*cc4ad7daSAndroid Build Coastguard Worker 6*cc4ad7daSAndroid Build Coastguard Worker - Use any hash algo known by kernel/openssl instead of keep needing 7*cc4ad7daSAndroid Build Coastguard Worker to update the mapping 8*cc4ad7daSAndroid Build Coastguard Worker 9*cc4ad7daSAndroid Build Coastguard Worker - Teach kmod to load modprobe.d/depmod.d configuration from ${prefix}/lib 10*cc4ad7daSAndroid Build Coastguard Worker and allow it to be overriden during build with --with-distconfdir=DIR 11*cc4ad7daSAndroid Build Coastguard Worker 12*cc4ad7daSAndroid Build Coastguard Worker - Make kernel modules directory configurable. This allows distro to 13*cc4ad7daSAndroid Build Coastguard Worker make kmod use only files from /usr regardless of having a compat 14*cc4ad7daSAndroid Build Coastguard Worker symlink in place. 15*cc4ad7daSAndroid Build Coastguard Worker 16*cc4ad7daSAndroid Build Coastguard Worker - Install kmod.pc containing the features selected at build time. 17*cc4ad7daSAndroid Build Coastguard Worker 18*cc4ad7daSAndroid Build Coastguard Worker - Install all tools and symlinks by default. Previously kmod relied on 19*cc4ad7daSAndroid Build Coastguard Worker distro packaging to set up the symlinks in place like modprobe, 20*cc4ad7daSAndroid Build Coastguard Worker depmod, lsmod, etc. Now those symlinks are created by kmod itself 21*cc4ad7daSAndroid Build Coastguard Worker and they are always placed in $bindir. 22*cc4ad7daSAndroid Build Coastguard Worker 23*cc4ad7daSAndroid Build Coastguard Worker- Bug Fixes 24*cc4ad7daSAndroid Build Coastguard Worker 25*cc4ad7daSAndroid Build Coastguard Worker - Fix warnings due to -Walloc-size 26*cc4ad7daSAndroid Build Coastguard Worker 27*cc4ad7daSAndroid Build Coastguard Worker- Others 28*cc4ad7daSAndroid Build Coastguard Worker 29*cc4ad7daSAndroid Build Coastguard Worker - Drop python bindings. Those were not update in ages and not compatible 30*cc4ad7daSAndroid Build Coastguard Worker with latest python releases. 31*cc4ad7daSAndroid Build Coastguard Worker 32*cc4ad7daSAndroid Build Coastguard Worker - Cleanup test infra, dropping what was not used anymore 33*cc4ad7daSAndroid Build Coastguard Worker 34*cc4ad7daSAndroid Build Coastguard Worker - Drop experimental tools `kmod insert` / `kmod remove`. Building those 35*cc4ad7daSAndroid Build Coastguard Worker was protected by a configure option never set by distros. They also 36*cc4ad7daSAndroid Build Coastguard Worker didn't gain enough traction to replace the older interfaces via 37*cc4ad7daSAndroid Build Coastguard Worker modprobe/insmod/rmmod. 38*cc4ad7daSAndroid Build Coastguard Worker 39*cc4ad7daSAndroid Build Coastguard Workerkmod 31 40*cc4ad7daSAndroid Build Coastguard Worker======= 41*cc4ad7daSAndroid Build Coastguard Worker 42*cc4ad7daSAndroid Build Coastguard Worker- Improvements 43*cc4ad7daSAndroid Build Coastguard Worker 44*cc4ad7daSAndroid Build Coastguard Worker - Allow passing a path to modprobe so the module is loaded from 45*cc4ad7daSAndroid Build Coastguard Worker anywhere from the filesystem, but still handling the module 46*cc4ad7daSAndroid Build Coastguard Worker dependencies recorded in the indexes. This is mostly intended for kernel 47*cc4ad7daSAndroid Build Coastguard Worker developers to speedup testing their kernel modules without having to load the 48*cc4ad7daSAndroid Build Coastguard Worker dependencies manually or override the module in /usr/lib/modules/. 49*cc4ad7daSAndroid Build Coastguard Worker Now it's possible to do: 50*cc4ad7daSAndroid Build Coastguard Worker 51*cc4ad7daSAndroid Build Coastguard Worker # modprobe ./drivers/gpu/drm/i915/i915.ko 52*cc4ad7daSAndroid Build Coastguard Worker 53*cc4ad7daSAndroid Build Coastguard Worker As long as the dependencies didn't change, this should do the right thing 54*cc4ad7daSAndroid Build Coastguard Worker 55*cc4ad7daSAndroid Build Coastguard Worker - Use in-kernel decompression if available. This will check the runtime support 56*cc4ad7daSAndroid Build Coastguard Worker in the kernel for decompressing modules and use it through finit_module(). 57*cc4ad7daSAndroid Build Coastguard Worker Previously kmod would fallback to the older init_module() when using 58*cc4ad7daSAndroid Build Coastguard Worker compressed modules since there wasn't a way to instruct the kernel to 59*cc4ad7daSAndroid Build Coastguard Worker uncompress it on load or check if the kernel supported it or not. 60*cc4ad7daSAndroid Build Coastguard Worker This requires a recent kernel (>= 6.4) to have that support and 61*cc4ad7daSAndroid Build Coastguard Worker in-kernel decompression properly working in the kernel. 62*cc4ad7daSAndroid Build Coastguard Worker 63*cc4ad7daSAndroid Build Coastguard Worker - Make modprobe fallback to syslog when stderr is not available, as was 64*cc4ad7daSAndroid Build Coastguard Worker documented in the man page, but not implemented 65*cc4ad7daSAndroid Build Coastguard Worker 66*cc4ad7daSAndroid Build Coastguard Worker - Better explaing `modprobe -r` and how it differentiates from rmmod 67*cc4ad7daSAndroid Build Coastguard Worker 68*cc4ad7daSAndroid Build Coastguard Worker - depmod learned a `-o <dir>` option to allow using a separate output 69*cc4ad7daSAndroid Build Coastguard Worker directory. With this, it's possible to split the output files from 70*cc4ad7daSAndroid Build Coastguard Worker the ones used as input from the kernel build system 71*cc4ad7daSAndroid Build Coastguard Worker 72*cc4ad7daSAndroid Build Coastguard Worker - Add compat with glibc >= 2.32.9000 that dropped __xstat 73*cc4ad7daSAndroid Build Coastguard Worker 74*cc4ad7daSAndroid Build Coastguard Worker - Improve testsuite to stop skipping tests when sysconfdir is something 75*cc4ad7daSAndroid Build Coastguard Worker other than /etc 76*cc4ad7daSAndroid Build Coastguard Worker 77*cc4ad7daSAndroid Build Coastguard Worker - Build system improvements and updates 78*cc4ad7daSAndroid Build Coastguard Worker 79*cc4ad7daSAndroid Build Coastguard Worker - Change a few return codes from -ENOENT to -ENODATA to avoid confusing output 80*cc4ad7daSAndroid Build Coastguard Worker in depmod when the module itself lacks a particular ELF section due to e.g. 81*cc4ad7daSAndroid Build Coastguard Worker CONFIG_MODVERSIONS=n in the kernel. 82*cc4ad7daSAndroid Build Coastguard Worker 83*cc4ad7daSAndroid Build Coastguard Worker 84*cc4ad7daSAndroid Build Coastguard Worker- Bug Fixes 85*cc4ad7daSAndroid Build Coastguard Worker 86*cc4ad7daSAndroid Build Coastguard Worker - Fix testsuite using uninitialized memory when testing module removal 87*cc4ad7daSAndroid Build Coastguard Worker with --wait 88*cc4ad7daSAndroid Build Coastguard Worker 89*cc4ad7daSAndroid Build Coastguard Worker - Fix testsuite not correctly overriding the stat syscall on 32-bit 90*cc4ad7daSAndroid Build Coastguard Worker platforms. For most architectures this was harmless, but for MIPS it 91*cc4ad7daSAndroid Build Coastguard Worker was causing some tests to fail. 92*cc4ad7daSAndroid Build Coastguard Worker 93*cc4ad7daSAndroid Build Coastguard Worker - Fix handling unknown signature algorithm 94*cc4ad7daSAndroid Build Coastguard Worker 95*cc4ad7daSAndroid Build Coastguard Worker - Fix linking with a static liblzma, libzstd or zlib 96*cc4ad7daSAndroid Build Coastguard Worker 97*cc4ad7daSAndroid Build Coastguard Worker - Fix memory leak when removing module holders 98*cc4ad7daSAndroid Build Coastguard Worker 99*cc4ad7daSAndroid Build Coastguard Worker - Fix out-of-bounds access when using very long paths as argument to rmmod 100*cc4ad7daSAndroid Build Coastguard Worker 101*cc4ad7daSAndroid Build Coastguard Worker - Fix warnings reported by UBSan 102*cc4ad7daSAndroid Build Coastguard Worker 103*cc4ad7daSAndroid Build Coastguard Workerkmod 30 104*cc4ad7daSAndroid Build Coastguard Worker======= 105*cc4ad7daSAndroid Build Coastguard Worker 106*cc4ad7daSAndroid Build Coastguard Worker- Improvements 107*cc4ad7daSAndroid Build Coastguard Worker - Stop adding duplicate information on modules.builtin.alias.bin, just use 108*cc4ad7daSAndroid Build Coastguard Worker the modules.builtin.bin index 109*cc4ad7daSAndroid Build Coastguard Worker 110*cc4ad7daSAndroid Build Coastguard Worker - Speedup depmod, particularly under qemu with emulated arch, by 111*cc4ad7daSAndroid Build Coastguard Worker avoiding a lot of open/read/close of modules.alias.bin. On an 112*cc4ad7daSAndroid Build Coastguard Worker emulated ARM rootfs, depmod with only 2 modules was taking ~32s 113*cc4ad7daSAndroid Build Coastguard Worker vs ~0.07s now. 114*cc4ad7daSAndroid Build Coastguard Worker 115*cc4ad7daSAndroid Build Coastguard Worker - Add kmod_module_new_from_name_lookup() which allows doing a lookup by 116*cc4ad7daSAndroid Build Coastguard Worker module name, without considering the aliases. Other than that search 117*cc4ad7daSAndroid Build Coastguard Worker order is similar to kmod_module_new_from_lookup(). 118*cc4ad7daSAndroid Build Coastguard Worker 119*cc4ad7daSAndroid Build Coastguard Worker - modinfo learned the --modname option to explicitely show information 120*cc4ad7daSAndroid Build Coastguard Worker about the module, even if there is an alias with the same name. This 121*cc4ad7daSAndroid Build Coastguard Worker allows showing information about e.g. kernel/lib/crc32.ko, even if 122*cc4ad7daSAndroid Build Coastguard Worker kernel also exports a crc32 alias in modules.alias: 123*cc4ad7daSAndroid Build Coastguard Worker 124*cc4ad7daSAndroid Build Coastguard Worker alias crc32 crc32_pclmul 125*cc4ad7daSAndroid Build Coastguard Worker alias crc32 crc32_generic 126*cc4ad7daSAndroid Build Coastguard Worker 127*cc4ad7daSAndroid Build Coastguard Worker Same behavior will be used to other modules and to aliases provided 128*cc4ad7daSAndroid Build Coastguard Worker by user/distro. 129*cc4ad7daSAndroid Build Coastguard Worker 130*cc4ad7daSAndroid Build Coastguard Worker - depmod.conf learned a new "excludedir" directive so distro/user can 131*cc4ad7daSAndroid Build Coastguard Worker configure more directories to be excluded from its search, besides 132*cc4ad7daSAndroid Build Coastguard Worker the hardcoded values "build" and "source". 133*cc4ad7daSAndroid Build Coastguard Worker 134*cc4ad7daSAndroid Build Coastguard Worker - Better group modprobe options on help output under "Management, Query and General". 135*cc4ad7daSAndroid Build Coastguard Worker 136*cc4ad7daSAndroid Build Coastguard Worker - modprobe learned a --wait <MSEC> option to be used together with -r 137*cc4ad7daSAndroid Build Coastguard Worker when removing a module. This allows modprobe to keep trying the 138*cc4ad7daSAndroid Build Coastguard Worker removal if it fails because the module is still in use. An exponential backoff 139*cc4ad7daSAndroid Build Coastguard Worker time is used for further retries. 140*cc4ad7daSAndroid Build Coastguard Worker 141*cc4ad7daSAndroid Build Coastguard Worker The wait behavior provided by the kernel when not passing O_NONBLOCK 142*cc4ad7daSAndroid Build Coastguard Worker to delete_module() was removed in v3.13 due to not be used and the 143*cc4ad7daSAndroid Build Coastguard Worker consequences of having to support it in the kernel. However there may 144*cc4ad7daSAndroid Build Coastguard Worker be some users, particularly on testsuites for individual susbsystems, that 145*cc4ad7daSAndroid Build Coastguard Worker would want that. So provide a userspace implementation inside modprobe for 146*cc4ad7daSAndroid Build Coastguard Worker such users. "rmmod" doesn't have a --wait as it remains a bare minimal over 147*cc4ad7daSAndroid Build Coastguard Worker the API provided by the kernel. In future the --wait behavior can be added 148*cc4ad7daSAndroid Build Coastguard Worker to libkmod for testsuites not exec'ing modprobe for module removal. 149*cc4ad7daSAndroid Build Coastguard Worker 150*cc4ad7daSAndroid Build Coastguard Worker - kmod_module_remove_module() learned a new flag to silence output when 151*cc4ad7daSAndroid Build Coastguard Worker caller wants to handle them - this is particularly important for the 152*cc4ad7daSAndroid Build Coastguard Worker --wait flag to modprobe, as it's not desired to keep seeing error messages 153*cc4ad7daSAndroid Build Coastguard Worker while waiting for the module to be unused. 154*cc4ad7daSAndroid Build Coastguard Worker 155*cc4ad7daSAndroid Build Coastguard Worker - Add SM3 hash algo support to modinfo output, as already available in the kernel. 156*cc4ad7daSAndroid Build Coastguard Worker 157*cc4ad7daSAndroid Build Coastguard Worker- Bug Fixes 158*cc4ad7daSAndroid Build Coastguard Worker - Fix modinfo output when showing information for a .ko module when running 159*cc4ad7daSAndroid Build Coastguard Worker on a kernel that has that module as builtin. 160*cc4ad7daSAndroid Build Coastguard Worker 161*cc4ad7daSAndroid Build Coastguard Worker - Fix kmod_module_new_from_lookup() returning > 0 rather than 0 162*cc4ad7daSAndroid Build Coastguard Worker when it matches an alias. 163*cc4ad7daSAndroid Build Coastguard Worker 164*cc4ad7daSAndroid Build Coastguard Worker - Fix modinfo segfault when module doesn't exist. 165*cc4ad7daSAndroid Build Coastguard Worker 166*cc4ad7daSAndroid Build Coastguard Worker - Add missing function in the html documentation: kmod_get_dirname(). 167*cc4ad7daSAndroid Build Coastguard Worker 168*cc4ad7daSAndroid Build Coastguard Worker - Fix modprobe incorrectly handling number of arguments when prepending values from 169*cc4ad7daSAndroid Build Coastguard Worker MODPROBE_OPTIONS environment variable. 170*cc4ad7daSAndroid Build Coastguard Worker 171*cc4ad7daSAndroid Build Coastguard Worker - Fix modprobe -r --remove-dependencies and since "dependencies" was a 172*cc4ad7daSAndroid Build Coastguard Worker misnomer, add the preferred argument option: "--remove-holders". This 173*cc4ad7daSAndroid Build Coastguard Worker is the same name used by the kernel. It allows users to also remove 174*cc4ad7daSAndroid Build Coastguard Worker other modules holding the one that is being removed. 175*cc4ad7daSAndroid Build Coastguard Worker 176*cc4ad7daSAndroid Build Coastguard Worker - Fix off-by-one in max module name length in depmod. 177*cc4ad7daSAndroid Build Coastguard Worker 178*cc4ad7daSAndroid Build Coastguard Worker- Infra/internal 179*cc4ad7daSAndroid Build Coastguard Worker - Start some changes in the out-of-tree test modules in kmod so they are useful 180*cc4ad7daSAndroid Build Coastguard Worker for being really inserted in the kernel rather than relying on kmod's mock 181*cc4ad7daSAndroid Build Coastguard Worker interface. This helps manual testing and may be used to exercise to test 182*cc4ad7daSAndroid Build Coastguard Worker changes in the kernel. 183*cc4ad7daSAndroid Build Coastguard Worker 184*cc4ad7daSAndroid Build Coastguard Workerkmod 29 185*cc4ad7daSAndroid Build Coastguard Worker======= 186*cc4ad7daSAndroid Build Coastguard Worker 187*cc4ad7daSAndroid Build Coastguard Worker- Improvements 188*cc4ad7daSAndroid Build Coastguard Worker - Add support to use /usr/local as a place for configuration files. This makes it easier 189*cc4ad7daSAndroid Build Coastguard Worker to install locally without overriding distro files. 190*cc4ad7daSAndroid Build Coastguard Worker 191*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes 192*cc4ad7daSAndroid Build Coastguard Worker - Fix `modinfo -F` when module is builtin: when we asked by a specific field from modinfo, 193*cc4ad7daSAndroid Build Coastguard Worker it was not working correctly if the module was builtin 194*cc4ad7daSAndroid Build Coastguard Worker 195*cc4ad7daSAndroid Build Coastguard Worker - Documentation fixes on precedence order of /etc and /run: the correct order is 196*cc4ad7daSAndroid Build Coastguard Worker /etc/modprobe.d, /run/modprobe.d, /lib/modprobe.d 197*cc4ad7daSAndroid Build Coastguard Worker 198*cc4ad7daSAndroid Build Coastguard Worker - Fix the priority order that we use for searching configuration files. The 199*cc4ad7daSAndroid Build Coastguard Worker correct one is /etc, /run, /usr/local/lib, /lib, for both modprobe.d 200*cc4ad7daSAndroid Build Coastguard Worker and depmo.d 201*cc4ad7daSAndroid Build Coastguard Worker 202*cc4ad7daSAndroid Build Coastguard Worker - Fix kernel command line parsing when there are quotes present. Grub 203*cc4ad7daSAndroid Build Coastguard Worker mangles the command line and changes it from 'module.option="val with 204*cc4ad7daSAndroid Build Coastguard Worker spaces"' to '"module.option=val with spaces"'. Although this is weird 205*cc4ad7daSAndroid Build Coastguard Worker behavior and grub could have been fixed, the kernel understands it 206*cc4ad7daSAndroid Build Coastguard Worker correctly for builtin modules. So change libkmod to also parse it 207*cc4ad7daSAndroid Build Coastguard Worker correctly. This also brings another hidden behavior from the kernel: 208*cc4ad7daSAndroid Build Coastguard Worker newline in the kernel command line is also allowed and can be used to 209*cc4ad7daSAndroid Build Coastguard Worker separate options. 210*cc4ad7daSAndroid Build Coastguard Worker 211*cc4ad7daSAndroid Build Coastguard Worker - Fix a memory leak, overflow and double free on error path 212*cc4ad7daSAndroid Build Coastguard Worker 213*cc4ad7daSAndroid Build Coastguard Worker - Fix documentation for return value from kmod_module_get_info(): we 214*cc4ad7daSAndroid Build Coastguard Worker return the number of entries we added to the list 215*cc4ad7daSAndroid Build Coastguard Worker 216*cc4ad7daSAndroid Build Coastguard Worker - Fix output of modules.builtin.alias.bin index: we were writing an empty file due to 217*cc4ad7daSAndroid Build Coastguard Worker the misuse of kmod_module_get_info() 218*cc4ad7daSAndroid Build Coastguard Worker 219*cc4ad7daSAndroid Build Coastguard Worker- Infra/internal 220*cc4ad7daSAndroid Build Coastguard Worker - Retire integration with semaphoreci 221*cc4ad7daSAndroid Build Coastguard Worker 222*cc4ad7daSAndroid Build Coastguard Worker - Declare the github mirror also as an official upstream source: now besides accepting 223*cc4ad7daSAndroid Build Coastguard Worker patches via mailing list, PRs on github are also acceptable 224*cc4ad7daSAndroid Build Coastguard Worker 225*cc4ad7daSAndroid Build Coastguard Worker - Misc improvements to testsuite, so we can use it reliably regardless 226*cc4ad7daSAndroid Build Coastguard Worker of the configuration used: now tests will skip if we don't have the 227*cc4ad7daSAndroid Build Coastguard Worker build dependencies) 228*cc4ad7daSAndroid Build Coastguard Worker 229*cc4ad7daSAndroid Build Coastguard Workerkmod 28 230*cc4ad7daSAndroid Build Coastguard Worker======= 231*cc4ad7daSAndroid Build Coastguard Worker 232*cc4ad7daSAndroid Build Coastguard Worker- Improvements 233*cc4ad7daSAndroid Build Coastguard Worker - Add Zstandard to the supported compression formats using libzstd 234*cc4ad7daSAndroid Build Coastguard Worker (pass --with-zstd to configure) 235*cc4ad7daSAndroid Build Coastguard Worker 236*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes 237*cc4ad7daSAndroid Build Coastguard Worker - Ignore ill-formed kernel command line, e.g. with "ivrs_acpihid[00:14.5]=AMD0020:0" 238*cc4ad7daSAndroid Build Coastguard Worker option in it 239*cc4ad7daSAndroid Build Coastguard Worker - Fix some memory leaks 240*cc4ad7daSAndroid Build Coastguard Worker - Fix 0-length builtin.alias.bin: it needs at least the index header 241*cc4ad7daSAndroid Build Coastguard Worker 242*cc4ad7daSAndroid Build Coastguard Workerkmod 27 243*cc4ad7daSAndroid Build Coastguard Worker======= 244*cc4ad7daSAndroid Build Coastguard Worker 245*cc4ad7daSAndroid Build Coastguard Worker- Improvements 246*cc4ad7daSAndroid Build Coastguard Worker - Link to libcrypto rather than requiring openssl 247*cc4ad7daSAndroid Build Coastguard Worker 248*cc4ad7daSAndroid Build Coastguard Worker - Print a better error message when kernel doesn't support module unload 249*cc4ad7daSAndroid Build Coastguard Worker 250*cc4ad7daSAndroid Build Coastguard Worker - Use PKCS#7 instead of CMS for parsing module signature to be 251*cc4ad7daSAndroid Build Coastguard Worker compatible with LibreSSL and OpenSSL < 1.1.0 252*cc4ad7daSAndroid Build Coastguard Worker 253*cc4ad7daSAndroid Build Coastguard Worker - Teach modinfo to parse modules.builtin.modinfo. When using Linux kernel 254*cc4ad7daSAndroid Build Coastguard Worker >= v5.2-rc1 it's possible to get module information from this new file. Now 255*cc4ad7daSAndroid Build Coastguard Worker modinfo is able to show it instead of an error message that the module is 256*cc4ad7daSAndroid Build Coastguard Worker built-in: 257*cc4ad7daSAndroid Build Coastguard Worker 258*cc4ad7daSAndroid Build Coastguard Worker Before: 259*cc4ad7daSAndroid Build Coastguard Worker $ modinfo ext4 260*cc4ad7daSAndroid Build Coastguard Worker modinfo: ERROR: Module ext4 not found. 261*cc4ad7daSAndroid Build Coastguard Worker 262*cc4ad7daSAndroid Build Coastguard Worker After: 263*cc4ad7daSAndroid Build Coastguard Worker $ modinfo ext4 264*cc4ad7daSAndroid Build Coastguard Worker name: ext4 265*cc4ad7daSAndroid Build Coastguard Worker filename: (builtin) 266*cc4ad7daSAndroid Build Coastguard Worker softdep: pre: crc32c 267*cc4ad7daSAndroid Build Coastguard Worker license: GPL 268*cc4ad7daSAndroid Build Coastguard Worker description: Fourth Extended Filesystem 269*cc4ad7daSAndroid Build Coastguard Worker author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others 270*cc4ad7daSAndroid Build Coastguard Worker alias: fs-ext4 271*cc4ad7daSAndroid Build Coastguard Worker alias: ext3 272*cc4ad7daSAndroid Build Coastguard Worker alias: fs-ext3 273*cc4ad7daSAndroid Build Coastguard Worker alias: ext2 274*cc4ad7daSAndroid Build Coastguard Worker alias: fs-ext2 275*cc4ad7daSAndroid Build Coastguard Worker 276*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes 277*cc4ad7daSAndroid Build Coastguard Worker - Do not link python bindings with libpython to be compatible with 278*cc4ad7daSAndroid Build Coastguard Worker python3.8 279*cc4ad7daSAndroid Build Coastguard Worker 280*cc4ad7daSAndroid Build Coastguard Worker - Fix module removal with `modprobe -r` when a dependency is built-in. 281*cc4ad7daSAndroid Build Coastguard Worker Now it properly ignores them and proceed with removal of other 282*cc4ad7daSAndroid Build Coastguard Worker dependencies 283*cc4ad7daSAndroid Build Coastguard Worker 284*cc4ad7daSAndroid Build Coastguard Worker - Fix propagation of return code from install/remove commands to the 285*cc4ad7daSAndroid Build Coastguard Worker the probe function. The return values of kmod_module_probe_insert_module() 286*cc4ad7daSAndroid Build Coastguard Worker have very specific meanings, do not confuse the caller by return codes 287*cc4ad7daSAndroid Build Coastguard Worker from system() 288*cc4ad7daSAndroid Build Coastguard Worker 289*cc4ad7daSAndroid Build Coastguard Worker - Fix softdep config parsing leading to buffer overflow 290*cc4ad7daSAndroid Build Coastguard Worker 291*cc4ad7daSAndroid Build Coastguard Workerkmod 26 292*cc4ad7daSAndroid Build Coastguard Worker======= 293*cc4ad7daSAndroid Build Coastguard Worker 294*cc4ad7daSAndroid Build Coastguard Worker- Improvements 295*cc4ad7daSAndroid Build Coastguard Worker - Add more error-checking in library functions and remove warnings on newer 296*cc4ad7daSAndroid Build Coastguard Worker toolchains 297*cc4ad7daSAndroid Build Coastguard Worker 298*cc4ad7daSAndroid Build Coastguard Worker - Depmod now handles parallel invoctions better by protecting the temporary 299*cc4ad7daSAndroid Build Coastguard Worker files being used 300*cc4ad7daSAndroid Build Coastguard Worker 301*cc4ad7daSAndroid Build Coastguard Worker - Improvements to testsuite and added tests to check the our behavior 302*cc4ad7daSAndroid Build Coastguard Worker regardless of the features enabled in the kernel, or libraries we link to 303*cc4ad7daSAndroid Build Coastguard Worker 304*cc4ad7daSAndroid Build Coastguard Worker - Teach the --show-exports option to modprobe. This works similarly to 305*cc4ad7daSAndroid Build Coastguard Worker --show-modversions, but it reports the exported symbols from that module. 306*cc4ad7daSAndroid Build Coastguard Worker Under the hood this reads the .symtab and .strtab section rather than 307*cc4ad7daSAndroid Build Coastguard Worker __versions so it shows useful data even if kernel is configured without 308*cc4ad7daSAndroid Build Coastguard Worker modversions (CONFIG_MODVERSIONS) 309*cc4ad7daSAndroid Build Coastguard Worker 310*cc4ad7daSAndroid Build Coastguard Worker - Teach pkcs7 parsing to modinfo by using openssl. This allows modinfo to 311*cc4ad7daSAndroid Build Coastguard Worker correctly parse the signature appended to a module by the kernel build 312*cc4ad7daSAndroid Build Coastguard Worker system when configured with CONFIG_MODULE_SIG_ALL, or when externally 313*cc4ad7daSAndroid Build Coastguard Worker signed by the distro. Traditionally modules were signed and a struct 314*cc4ad7daSAndroid Build Coastguard Worker was appended together with the signature to the end of the module. 315*cc4ad7daSAndroid Build Coastguard Worker This has changed on the kernel for pkcs#7 and now the structure isn't 316*cc4ad7daSAndroid Build Coastguard Worker filled out with useful information. So we have to parse the signature 317*cc4ad7daSAndroid Build Coastguard Worker block in order to return useful data to the user. 318*cc4ad7daSAndroid Build Coastguard Worker 319*cc4ad7daSAndroid Build Coastguard Worker If kmod is linked with openssl we parse the signature and return the 320*cc4ad7daSAndroid Build Coastguard Worker fields as we do for other signatures. An example of the relevant part 321*cc4ad7daSAndroid Build Coastguard Worker on the output of modinfo is below: 322*cc4ad7daSAndroid Build Coastguard Worker 323*cc4ad7daSAndroid Build Coastguard Worker Before: 324*cc4ad7daSAndroid Build Coastguard Worker sig_id: PKCS#7 325*cc4ad7daSAndroid Build Coastguard Worker signer: 326*cc4ad7daSAndroid Build Coastguard Worker sig_key: 327*cc4ad7daSAndroid Build Coastguard Worker sig_hashalgo: md4 328*cc4ad7daSAndroid Build Coastguard Worker After: 329*cc4ad7daSAndroid Build Coastguard Worker sig_id: PKCS#7 330*cc4ad7daSAndroid Build Coastguard Worker signer: Fedora kernel signing key 331*cc4ad7daSAndroid Build Coastguard Worker sig_key: 51:C4:0C:6D:7E:A5:6C:D8:8F:B4:3A:DF:91:78:4F:18:BC:D5:E4:C5 332*cc4ad7daSAndroid Build Coastguard Worker sig_hashalgo: sha256 333*cc4ad7daSAndroid Build Coastguard Worker 334*cc4ad7daSAndroid Build Coastguard Worker If kmod is not linked to openssl we just start printing "unknonwn" in the 335*cc4ad7daSAndroid Build Coastguard Worker sig_hashalgo field rather than the bogus value. 336*cc4ad7daSAndroid Build Coastguard Worker 337*cc4ad7daSAndroid Build Coastguard Worker 338*cc4ad7daSAndroid Build Coastguard Workerkmod 25 339*cc4ad7daSAndroid Build Coastguard Worker======= 340*cc4ad7daSAndroid Build Coastguard Worker 341*cc4ad7daSAndroid Build Coastguard Worker- Improvements 342*cc4ad7daSAndroid Build Coastguard Worker - Add module signature to modinfo output 343*cc4ad7daSAndroid Build Coastguard Worker 344*cc4ad7daSAndroid Build Coastguard Worker - Add support for external directories in depmod: now there's a new 345*cc4ad7daSAndroid Build Coastguard Worker "external" keyword parsed by depmod when calculating the dependencies. 346*cc4ad7daSAndroid Build Coastguard Worker It allows to add modules to other directories which are not relative 347*cc4ad7daSAndroid Build Coastguard Worker to where the modules are commonly installed. This results in 348*cc4ad7daSAndroid Build Coastguard Worker modules.dep and friends now understanding absolute paths rather than 349*cc4ad7daSAndroid Build Coastguard Worker relative paths only. For more information see depmod.d(1). 350*cc4ad7daSAndroid Build Coastguard Worker 351*cc4ad7daSAndroid Build Coastguard Worker - Add support for CONFIG_MODULE_REL_CRCS 352*cc4ad7daSAndroid Build Coastguard Worker 353*cc4ad7daSAndroid Build Coastguard Worker - Add missing documentation references in man pages 354*cc4ad7daSAndroid Build Coastguard Worker 355*cc4ad7daSAndroid Build Coastguard Worker - Handle the case in which module has a .TOC symbol already while 356*cc4ad7daSAndroid Build Coastguard Worker calculating dependencies 357*cc4ad7daSAndroid Build Coastguard Worker 358*cc4ad7daSAndroid Build Coastguard Worker - Improve testsuite and allow to use mkosi to run testsuite in different 359*cc4ad7daSAndroid Build Coastguard Worker distros 360*cc4ad7daSAndroid Build Coastguard Worker 361*cc4ad7daSAndroid Build Coastguard Workerkmod 24 362*cc4ad7daSAndroid Build Coastguard Worker======= 363*cc4ad7daSAndroid Build Coastguard Worker 364*cc4ad7daSAndroid Build Coastguard Worker- Improvements: 365*cc4ad7daSAndroid Build Coastguard Worker - Add more information on dependency loop 366*cc4ad7daSAndroid Build Coastguard Worker 367*cc4ad7daSAndroid Build Coastguard Worker - Sanitize use of strcpy and allow to grow from small strings on stack 368*cc4ad7daSAndroid Build Coastguard Worker (common case) to bigger strings on heap when needed 369*cc4ad7daSAndroid Build Coastguard Worker 370*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes 371*cc4ad7daSAndroid Build Coastguard Worker - Fix wrong dependency loops being reported by depmod 372*cc4ad7daSAndroid Build Coastguard Worker 373*cc4ad7daSAndroid Build Coastguard Worker - Fix crashes when reporting dependency loops 374*cc4ad7daSAndroid Build Coastguard Worker 375*cc4ad7daSAndroid Build Coastguard Worker - Fix parsing kernel command line containing quotes 376*cc4ad7daSAndroid Build Coastguard Worker 377*cc4ad7daSAndroid Build Coastguard Worker - Fix leaks on error paths 378*cc4ad7daSAndroid Build Coastguard Worker 379*cc4ad7daSAndroid Build Coastguard Workerkmod 23 380*cc4ad7daSAndroid Build Coastguard Worker======= 381*cc4ad7daSAndroid Build Coastguard Worker 382*cc4ad7daSAndroid Build Coastguard Worker- Improvements: 383*cc4ad7daSAndroid Build Coastguard Worker - Don't add comment to modules.devname if it would otherwise be empty 384*cc4ad7daSAndroid Build Coastguard Worker to play nice with tools detecting empty files 385*cc4ad7daSAndroid Build Coastguard Worker 386*cc4ad7daSAndroid Build Coastguard Worker - Allow building with BSD sed, that doesn't have -E flag 387*cc4ad7daSAndroid Build Coastguard Worker 388*cc4ad7daSAndroid Build Coastguard Worker - Ignore .TOC. symbols in depmod parsing as it's for PPC64 the 389*cc4ad7daSAndroid Build Coastguard Worker equivalent of _GLOBAL_OFFSET_TABLE_ 390*cc4ad7daSAndroid Build Coastguard Worker 391*cc4ad7daSAndroid Build Coastguard Worker - Teach modinfo about PKCS#7 module signatures: it doesn't add any 392*cc4ad7daSAndroid Build Coastguard Worker other info besides telling the user the module is signed since 393*cc4ad7daSAndroid Build Coastguard Worker kernel doesn't add other info on the module section 394*cc4ad7daSAndroid Build Coastguard Worker 395*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes 396*cc4ad7daSAndroid Build Coastguard Worker 397*cc4ad7daSAndroid Build Coastguard Worker - Fix -s and -p compat options to insmod triggering force flag 398*cc4ad7daSAndroid Build Coastguard Worker 399*cc4ad7daSAndroid Build Coastguard Worker - Fix long lines from /proc/modules not being handled correctly by 400*cc4ad7daSAndroid Build Coastguard Worker kmod_module_new_from_loaded() and kmod_module_get_size() and several 401*cc4ad7daSAndroid Build Coastguard Worker other library functions that use them 402*cc4ad7daSAndroid Build Coastguard Worker 403*cc4ad7daSAndroid Build Coastguard Worker - Fix crash on modinfo while checking for available signature of 404*cc4ad7daSAndroid Build Coastguard Worker unknown type 405*cc4ad7daSAndroid Build Coastguard Worker 406*cc4ad7daSAndroid Build Coastguard Worker - Fix documentation generation with gtk-doc 407*cc4ad7daSAndroid Build Coastguard Worker 408*cc4ad7daSAndroid Build Coastguard Workerkmod 22 409*cc4ad7daSAndroid Build Coastguard Worker======= 410*cc4ad7daSAndroid Build Coastguard Worker 411*cc4ad7daSAndroid Build Coastguard Worker- Tools: 412*cc4ad7daSAndroid Build Coastguard Worker - Change defaul log level for tools to WARNING rather than ERROR and update 413*cc4ad7daSAndroid Build Coastguard Worker some log levels for current messages 414*cc4ad7daSAndroid Build Coastguard Worker 415*cc4ad7daSAndroid Build Coastguard Worker - depmod doesn't fallback to uname if a bad version is passed in the command 416*cc4ad7daSAndroid Build Coastguard Worker line anymore. We just exit with an error. 417*cc4ad7daSAndroid Build Coastguard Worker 418*cc4ad7daSAndroid Build Coastguard Worker - insmod was taught the -f flag, just like in modprobe. It was previously 419*cc4ad7daSAndroid Build Coastguard Worker silently ignoring it. 420*cc4ad7daSAndroid Build Coastguard Worker 421*cc4ad7daSAndroid Build Coastguard Worker- libkmod 422*cc4ad7daSAndroid Build Coastguard Worker - New kmod_get_dirname() API to get the module directory set in the 423*cc4ad7daSAndroid Build Coastguard Worker context 424*cc4ad7daSAndroid Build Coastguard Worker 425*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 426*cc4ad7daSAndroid Build Coastguard Worker - Fix return code in error path of kmod_module_insert_module(). We were 427*cc4ad7daSAndroid Build Coastguard Worker previously returning ENOSYS rather than ENOENT. 428*cc4ad7daSAndroid Build Coastguard Worker 429*cc4ad7daSAndroid Build Coastguard Workerkmod 21 430*cc4ad7daSAndroid Build Coastguard Worker======= 431*cc4ad7daSAndroid Build Coastguard Worker 432*cc4ad7daSAndroid Build Coastguard Worker- New features: 433*cc4ad7daSAndroid Build Coastguard Worker - kmod tool started to learn the "insert" and "remove" commands that 434*cc4ad7daSAndroid Build Coastguard Worker are the simplified versions of the older modprobe tool. These 435*cc4ad7daSAndroid Build Coastguard Worker commands are still work in progress so they are hidden behind a 436*cc4ad7daSAndroid Build Coastguard Worker --enable-experimental flag during build. It should not be enabled 437*cc4ad7daSAndroid Build Coastguard Worker unless you know what you're doing. 438*cc4ad7daSAndroid Build Coastguard Worker - kmod tool now prints the relevant configuration options it was built 439*cc4ad7daSAndroid Build Coastguard Worker with when the "--version" argument is passed. This helps to mitigate 440*cc4ad7daSAndroid Build Coastguard Worker problems for example when the user is trying to load a compressed 441*cc4ad7daSAndroid Build Coastguard Worker module but kmod was built without support for the compression method. 442*cc4ad7daSAndroid Build Coastguard Worker 443*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 444*cc4ad7daSAndroid Build Coastguard Worker - Cache built modules so it is easier to run "make check" on build 445*cc4ad7daSAndroid Build Coastguard Worker servers by distro maintainers. If kmod is configured with 446*cc4ad7daSAndroid Build Coastguard Worker --disable-test-modules the modules from cache will be used by 447*cc4ad7daSAndroid Build Coastguard Worker "make check". No changes to the tests are needed and all of them 448*cc4ad7daSAndroid Build Coastguard Worker can run fine. 449*cc4ad7daSAndroid Build Coastguard Worker 450*cc4ad7daSAndroid Build Coastguard Workerkmod 20 451*cc4ad7daSAndroid Build Coastguard Worker======= 452*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 453*cc4ad7daSAndroid Build Coastguard Worker - Handle bogus values from ELF, making sure they don't overflow while 454*cc4ad7daSAndroid Build Coastguard Worker parsing the file 455*cc4ad7daSAndroid Build Coastguard Worker - Fix leak in depmod when -b flag is passed multiple times 456*cc4ad7daSAndroid Build Coastguard Worker - Multiple minor fixes from static analysis by coverity and 457*cc4ad7daSAndroid Build Coastguard Worker clang-analyze 458*cc4ad7daSAndroid Build Coastguard Worker - Fix race between loading modules and checking if it's loaded in the 459*cc4ad7daSAndroid Build Coastguard Worker kernel 460*cc4ad7daSAndroid Build Coastguard Worker 461*cc4ad7daSAndroid Build Coastguard Worker- New features: 462*cc4ad7daSAndroid Build Coastguard Worker - There's a change in behavior regarding builtin modules: we now only 463*cc4ad7daSAndroid Build Coastguard Worker consider as builtin those that are present in modules.builtin index. 464*cc4ad7daSAndroid Build Coastguard Worker Previously we were also checking the presence of 465*cc4ad7daSAndroid Build Coastguard Worker /sys/module/<module-name>, but this is racy and only modules that 466*cc4ad7daSAndroid Build Coastguard Worker contain parameters are the ones creating a directory in sysfs. 467*cc4ad7daSAndroid Build Coastguard Worker 468*cc4ad7daSAndroid Build Coastguard Worker Now some commands will start to fail, e.g. "modprobe vt". Since vt 469*cc4ad7daSAndroid Build Coastguard Worker can't be compiled as a module it's not present in modules.builtin 470*cc4ad7daSAndroid Build Coastguard Worker index. Previously we would report at as builtin, but now we fail 471*cc4ad7daSAndroid Build Coastguard Worker because we couldn't find the module. 472*cc4ad7daSAndroid Build Coastguard Worker 473*cc4ad7daSAndroid Build Coastguard Worker- Improvements: 474*cc4ad7daSAndroid Build Coastguard Worker - Integration of gcov into the build. Currently libkmod is at ~70% 475*cc4ad7daSAndroid Build Coastguard Worker covered and tools at ~50% by tests in the testsuite. Utility 476*cc4ad7daSAndroid Build Coastguard Worker functions and structures in shared have more than 90% of coverage. 477*cc4ad7daSAndroid Build Coastguard Worker - Upload build to coverity 478*cc4ad7daSAndroid Build Coastguard Worker 479*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 480*cc4ad7daSAndroid Build Coastguard Worker - Fix parsing return codes of init_module() calls 481*cc4ad7daSAndroid Build Coastguard Worker - Add tests for utility functions in shared/ 482*cc4ad7daSAndroid Build Coastguard Worker - Add tests for kmod_module_remove_module() 483*cc4ad7daSAndroid Build Coastguard Worker - Add playground, in which our own modules are compiled 484*cc4ad7daSAndroid Build Coastguard Worker - Port all tests to use modules from module-playground instead of 485*cc4ad7daSAndroid Build Coastguard Worker copying prebuilt modules to the repository 486*cc4ad7daSAndroid Build Coastguard Worker - Properly handle binaries that exit with no output 487*cc4ad7daSAndroid Build Coastguard Worker - Besides comparing the output of commands, allow to copy to 488*cc4ad7daSAndroid Build Coastguard Worker stdout/stderr 489*cc4ad7daSAndroid Build Coastguard Worker 490*cc4ad7daSAndroid Build Coastguard Workerkmod 19 491*cc4ad7daSAndroid Build Coastguard Worker======= 492*cc4ad7daSAndroid Build Coastguard Worker 493*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 494*cc4ad7daSAndroid Build Coastguard Worker - Fix missing CLOEXEC in library 495*cc4ad7daSAndroid Build Coastguard Worker - Fix error message while opening kmod's index 496*cc4ad7daSAndroid Build Coastguard Worker 497*cc4ad7daSAndroid Build Coastguard Worker- New features: 498*cc4ad7daSAndroid Build Coastguard Worker - Add kmod(8) man page 499*cc4ad7daSAndroid Build Coastguard Worker - Allow to build with libc's without be32toh() 500*cc4ad7daSAndroid Build Coastguard Worker - Move code around separating common code and data structures into a 501*cc4ad7daSAndroid Build Coastguard Worker shared directory. This allows to share more code between library and 502*cc4ad7daSAndroid Build Coastguard Worker tools, making the binary size of tools smaller. 503*cc4ad7daSAndroid Build Coastguard Worker - Clarify tools vs library licenses 504*cc4ad7daSAndroid Build Coastguard Worker - static-nodes: when writing in tmpfiles format, indicate that 505*cc4ad7daSAndroid Build Coastguard Worker creation of static nodes should only happen at boot. This is used and 506*cc4ad7daSAndroid Build Coastguard Worker required by systemd-217+. 507*cc4ad7daSAndroid Build Coastguard Worker 508*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 509*cc4ad7daSAndroid Build Coastguard Worker - Add tests for newly created shared/ code 510*cc4ad7daSAndroid Build Coastguard Worker - Improve how tests are declared so there's less boilerplate code for 511*cc4ad7daSAndroid Build Coastguard Worker each test. 512*cc4ad7daSAndroid Build Coastguard Worker 513*cc4ad7daSAndroid Build Coastguard Workerkmod 18 514*cc4ad7daSAndroid Build Coastguard Worker======= 515*cc4ad7daSAndroid Build Coastguard Worker 516*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 517*cc4ad7daSAndroid Build Coastguard Worker - Fix leaks in error paths 518*cc4ad7daSAndroid Build Coastguard Worker - Fix use-after-free in hash implementation causing a wrong index to be 519*cc4ad7daSAndroid Build Coastguard Worker generated by depmod with out-of-tree modules 520*cc4ad7daSAndroid Build Coastguard Worker 521*cc4ad7daSAndroid Build Coastguard Worker- New features: 522*cc4ad7daSAndroid Build Coastguard Worker - Calling depmod with modules creating a dependency loop will now make 523*cc4ad7daSAndroid Build Coastguard Worker depmod return an error and not update the indexes. This is to protect 524*cc4ad7daSAndroid Build Coastguard Worker the current index not being overridden by another index that may cause 525*cc4ad7daSAndroid Build Coastguard Worker a boot failure, depending on the buggy module. It's a necessary 526*cc4ad7daSAndroid Build Coastguard Worker change in behavior regarding previous kmod releases and 527*cc4ad7daSAndroid Build Coastguard Worker module-init-tools. The error message was also improved to output 528*cc4ad7daSAndroid Build Coastguard Worker the modules that caused the dependency cycle. 529*cc4ad7daSAndroid Build Coastguard Worker 530*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 531*cc4ad7daSAndroid Build Coastguard Worker - Fix and improve expected-fail test 532*cc4ad7daSAndroid Build Coastguard Worker - Add tests for hashmap implementation 533*cc4ad7daSAndroid Build Coastguard Worker 534*cc4ad7daSAndroid Build Coastguard Workerkmod 17 535*cc4ad7daSAndroid Build Coastguard Worker======= 536*cc4ad7daSAndroid Build Coastguard Worker 537*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 538*cc4ad7daSAndroid Build Coastguard Worker - Fix matching a "." in kernel cmdline, making garbage in the command 539*cc4ad7daSAndroid Build Coastguard Worker line be parsed as kmod options 540*cc4ad7daSAndroid Build Coastguard Worker - Fix man pages to clarify we don't fallback to parsing modules.dep 541*cc4ad7daSAndroid Build Coastguard Worker but instead we depend on modules.dep.bin (generated by depmod) to 542*cc4ad7daSAndroid Build Coastguard Worker be present 543*cc4ad7daSAndroid Build Coastguard Worker - Fix ELF parsing on 32 bit systems assigning the wrong class. 544*cc4ad7daSAndroid Build Coastguard Worker - Fix partial matches of search directives in depmod. Previously having 545*cc4ad7daSAndroid Build Coastguard Worker a line in depmod.conf such as "search foo foobar built-in" would cause 546*cc4ad7daSAndroid Build Coastguard Worker unpretictable results because foo is a partial match of foobar as well. 547*cc4ad7daSAndroid Build Coastguard Worker - Fix unaligned access in modinfo when getting the signature from a 548*cc4ad7daSAndroid Build Coastguard Worker module 549*cc4ad7daSAndroid Build Coastguard Worker - Make sure softdeps are treated as optional dependencies 550*cc4ad7daSAndroid Build Coastguard Worker 551*cc4ad7daSAndroid Build Coastguard Worker- New features: 552*cc4ad7daSAndroid Build Coastguard Worker - Accept special files given to "-C" switch in modprobe. This way it's 553*cc4ad7daSAndroid Build Coastguard Worker possible to skip system configuration with "modprobe -C /dev/null" 554*cc4ad7daSAndroid Build Coastguard Worker - Do not require xsltproc on released tarballs 555*cc4ad7daSAndroid Build Coastguard Worker - Don't use Werror anymore 556*cc4ad7daSAndroid Build Coastguard Worker - Add experimental python bindings, merged from python-kmod repository 557*cc4ad7daSAndroid Build Coastguard Worker (https://github.com/agrover/python-kmod) 558*cc4ad7daSAndroid Build Coastguard Worker - Parse softdeps exported by the kernel as 559*cc4ad7daSAndroid Build Coastguard Worker /lib/modules/`uname -r`/modules.softdep 560*cc4ad7daSAndroid Build Coastguard Worker 561*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 562*cc4ad7daSAndroid Build Coastguard Worker - Check the list of loaded modules after a test 563*cc4ad7daSAndroid Build Coastguard Worker 564*cc4ad7daSAndroid Build Coastguard Workerkmod 16 565*cc4ad7daSAndroid Build Coastguard Worker======= 566*cc4ad7daSAndroid Build Coastguard Worker 567*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 568*cc4ad7daSAndroid Build Coastguard Worker - Fix usage of readdir_r() 569*cc4ad7daSAndroid Build Coastguard Worker - Add some missing checks for memory allocation errors 570*cc4ad7daSAndroid Build Coastguard Worker 571*cc4ad7daSAndroid Build Coastguard Worker- New features: 572*cc4ad7daSAndroid Build Coastguard Worker - Remove option from libkmod to allow waiting on module removal if 573*cc4ad7daSAndroid Build Coastguard Worker the module is being used. It's dangerous since it can block the 574*cc4ad7daSAndroid Build Coastguard Worker caller indefinitely. 575*cc4ad7daSAndroid Build Coastguard Worker - Improve compatibility with musl libc 576*cc4ad7daSAndroid Build Coastguard Worker - Add fallback implementation for compilers without _Static_assert(), 577*cc4ad7daSAndroid Build Coastguard Worker e.g. gcc < 4.6 578*cc4ad7daSAndroid Build Coastguard Worker - Minor optimizations to the hash table 579*cc4ad7daSAndroid Build Coastguard Worker - Make depmod warn if a module has incorrect devname specification 580*cc4ad7daSAndroid Build Coastguard Worker - Use cleanup attribute 581*cc4ad7daSAndroid Build Coastguard Worker 582*cc4ad7daSAndroid Build Coastguard Workerkmod 15 583*cc4ad7daSAndroid Build Coastguard Worker======= 584*cc4ad7daSAndroid Build Coastguard Worker 585*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 586*cc4ad7daSAndroid Build Coastguard Worker - kmod static-nodes doesn't fail if modules.devname isn't available 587*cc4ad7daSAndroid Build Coastguard Worker - Fix getting boolean parameter from kernel cmdline in case the value 588*cc4ad7daSAndroid Build Coastguard Worker is omitted 589*cc4ad7daSAndroid Build Coastguard Worker - Fix some mkdir_p() corner cases (used in testsuite and static-nodes) 590*cc4ad7daSAndroid Build Coastguard Worker 591*cc4ad7daSAndroid Build Coastguard Worker- New features: 592*cc4ad7daSAndroid Build Coastguard Worker - kmod static-nodes creates parent directories if given a -o option 593*cc4ad7daSAndroid Build Coastguard Worker - kmod binary statically links to libkmod - if distro is only interested 594*cc4ad7daSAndroid Build Coastguard Worker in the kmod tool (for example in an initrd) it can refrain from 595*cc4ad7daSAndroid Build Coastguard Worker installing the library 596*cc4ad7daSAndroid Build Coastguard Worker - Add shell completion for kmod tool 597*cc4ad7daSAndroid Build Coastguard Worker 598*cc4ad7daSAndroid Build Coastguard Workerkmod 14 599*cc4ad7daSAndroid Build Coastguard Worker======= 600*cc4ad7daSAndroid Build Coastguard Worker 601*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 602*cc4ad7daSAndroid Build Coastguard Worker - Fix some format strings 603*cc4ad7daSAndroid Build Coastguard Worker - Protect against NULL being passed around to index 604*cc4ad7daSAndroid Build Coastguard Worker - Avoid calling syscall() with -1 when finit_module() is not available, 605*cc4ad7daSAndroid Build Coastguard Worker since this doesn't always work 606*cc4ad7daSAndroid Build Coastguard Worker - Fix not being able to remove alias due to checking the module's 607*cc4ad7daSAndroid Build Coastguard Worker refcount 608*cc4ad7daSAndroid Build Coastguard Worker - Minor fixes and refactors 609*cc4ad7daSAndroid Build Coastguard Worker 610*cc4ad7daSAndroid Build Coastguard Worker- New features: 611*cc4ad7daSAndroid Build Coastguard Worker - Improve libkmod documentation, particularly on how flags are dealt 612*cc4ad7daSAndroid Build Coastguard Worker with. 613*cc4ad7daSAndroid Build Coastguard Worker - Remove ability to build a static libkmod 614*cc4ad7daSAndroid Build Coastguard Worker - Add static-nodes command to kmod that parses modules.devname 615*cc4ad7daSAndroid Build Coastguard Worker generating output in useful formats 616*cc4ad7daSAndroid Build Coastguard Worker 617*cc4ad7daSAndroid Build Coastguard Workerkmod 13 618*cc4ad7daSAndroid Build Coastguard Worker======= 619*cc4ad7daSAndroid Build Coastguard Worker 620*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 621*cc4ad7daSAndroid Build Coastguard Worker - Add the long option --symbol-prefix option to depmod (it was absent) 622*cc4ad7daSAndroid Build Coastguard Worker and fix its behavior 623*cc4ad7daSAndroid Build Coastguard Worker - Don't abort if there's a bogus line in configuration file like "alias 624*cc4ad7daSAndroid Build Coastguard Worker psmouse off". Some distros are carrying this since the days of 625*cc4ad7daSAndroid Build Coastguard Worker modutils 626*cc4ad7daSAndroid Build Coastguard Worker 627*cc4ad7daSAndroid Build Coastguard Worker- New features: 628*cc4ad7daSAndroid Build Coastguard Worker - Add support for finit_module(2). If the module is load straight from 629*cc4ad7daSAndroid Build Coastguard Worker the disk and without compression we use finit_module() syscall when 630*cc4ad7daSAndroid Build Coastguard Worker available, falling back to init_module() otherwise 631*cc4ad7daSAndroid Build Coastguard Worker - kmod_module_get_info() also returns the signature if the module is 632*cc4ad7daSAndroid Build Coastguard Worker signed and modinfo uses it 633*cc4ad7daSAndroid Build Coastguard Worker - Use secure_getenv if available 634*cc4ad7daSAndroid Build Coastguard Worker - rmmod understands builtin modules, just like modprobe does 635*cc4ad7daSAndroid Build Coastguard Worker - Improve compatibility with musl-libc 636*cc4ad7daSAndroid Build Coastguard Worker - Test cases exit with success when receiving a signal if they are 637*cc4ad7daSAndroid Build Coastguard Worker xfail tests 638*cc4ad7daSAndroid Build Coastguard Worker 639*cc4ad7daSAndroid Build Coastguard Workerkmod 12 640*cc4ad7daSAndroid Build Coastguard Worker======= 641*cc4ad7daSAndroid Build Coastguard Worker 642*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 643*cc4ad7daSAndroid Build Coastguard Worker - Fix removing vermagic from module when told to force load a module 644*cc4ad7daSAndroid Build Coastguard Worker - Fix removing __versions section when told to force load a module: we 645*cc4ad7daSAndroid Build Coastguard Worker need to mangle the section header, not the section. 646*cc4ad7daSAndroid Build Coastguard Worker - modinfo no longer fails while loading a module from file when path 647*cc4ad7daSAndroid Build Coastguard Worker contains ".ko" substring 648*cc4ad7daSAndroid Build Coastguard Worker 649*cc4ad7daSAndroid Build Coastguard Workerkmod 11 650*cc4ad7daSAndroid Build Coastguard Worker======= 651*cc4ad7daSAndroid Build Coastguard Worker 652*cc4ad7daSAndroid Build Coastguard Worker- Improvements to testsuite: 653*cc4ad7daSAndroid Build Coastguard Worker - Fix testsuite defining symbols twice on 32 bit systems 654*cc4ad7daSAndroid Build Coastguard Worker - Allow to check generated files against correct ones 655*cc4ad7daSAndroid Build Coastguard Worker 656*cc4ad7daSAndroid Build Coastguard Worker- New features: 657*cc4ad7daSAndroid Build Coastguard Worker - libkmod now keeps a file opened after the first call to 658*cc4ad7daSAndroid Build Coastguard Worker kmod_module_get_{info,versions,symbols,dependency_symbols}. This 659*cc4ad7daSAndroid Build Coastguard Worker reduces significantly the amount of time depmod tool takes to 660*cc4ad7daSAndroid Build Coastguard Worker execute. Particularly if compressed modules are used. 661*cc4ad7daSAndroid Build Coastguard Worker - Remove --with-rootprefix from build system. It was not a great idea 662*cc4ad7daSAndroid Build Coastguard Worker after all and should not be use since it causes more harm then 663*cc4ad7daSAndroid Build Coastguard Worker benefits. 664*cc4ad7daSAndroid Build Coastguard Worker - Hide --wait option on rmmod. This feature is being targeted for 665*cc4ad7daSAndroid Build Coastguard Worker removal from kernel. rmmod still accepts this option, but it's hidden 666*cc4ad7daSAndroid Build Coastguard Worker now: man page and usage() say nothing about it and if it's used, 667*cc4ad7daSAndroid Build Coastguard Worker user will get a 10s sleep. This way we can check and help if anyone 668*cc4ad7daSAndroid Build Coastguard Worker is using this feature. 669*cc4ad7daSAndroid Build Coastguard Worker - Refactor message logging on all tools, giving proper prefix, routing 670*cc4ad7daSAndroid Build Coastguard Worker everything to syslog when asked for, etc. 671*cc4ad7daSAndroid Build Coastguard Worker 672*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 673*cc4ad7daSAndroid Build Coastguard Worker - Fix parsing of modules.order when using compressed modules 674*cc4ad7daSAndroid Build Coastguard Worker - Usage messages go to stdout instead of stderr 675*cc4ad7daSAndroid Build Coastguard Worker - Fix memory leak in hash implementation 676*cc4ad7daSAndroid Build Coastguard Worker 677*cc4ad7daSAndroid Build Coastguard Workerkmod 10 678*cc4ad7daSAndroid Build Coastguard Worker======= 679*cc4ad7daSAndroid Build Coastguard Worker 680*cc4ad7daSAndroid Build Coastguard Worker- New features: 681*cc4ad7daSAndroid Build Coastguard Worker - Read coresize from /sys if supported 682*cc4ad7daSAndroid Build Coastguard Worker 683*cc4ad7daSAndroid Build Coastguard Worker - Add flag to kmod_module_probe_insert() to apply blacklisting during 684*cc4ad7daSAndroid Build Coastguard Worker probe only if mod is an alias. Now modprobe uses this flag by default. 685*cc4ad7daSAndroid Build Coastguard Worker This is needed to fix a change in behavior regarding module-init-tools 686*cc4ad7daSAndroid Build Coastguard Worker and ultimately makes us loading a blacklisted module. 687*cc4ad7daSAndroid Build Coastguard Worker 688*cc4ad7daSAndroid Build Coastguard Worker- Better formatting in man pages 689*cc4ad7daSAndroid Build Coastguard Worker 690*cc4ad7daSAndroid Build Coastguard Worker- Add option to disable building man pages at build time 691*cc4ad7daSAndroid Build Coastguard Worker 692*cc4ad7daSAndroid Build Coastguard Worker- Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries 693*cc4ad7daSAndroid Build Coastguard Worker 694*cc4ad7daSAndroid Build Coastguard Worker- Re-licensing testsuite as LGPL 695*cc4ad7daSAndroid Build Coastguard Worker 696*cc4ad7daSAndroid Build Coastguard Workerkmod 9 697*cc4ad7daSAndroid Build Coastguard Worker====== 698*cc4ad7daSAndroid Build Coastguard Worker 699*cc4ad7daSAndroid Build Coastguard Worker- Improvements to the testsuite: 700*cc4ad7daSAndroid Build Coastguard Worker - Check for correct handling of softdep loops 701*cc4ad7daSAndroid Build Coastguard Worker - Check for correct handling of install command loops 702*cc4ad7daSAndroid Build Coastguard Worker 703*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 704*cc4ad7daSAndroid Build Coastguard Worker - Fix build with compilers that don't support --gc-sections 705*cc4ad7daSAndroid Build Coastguard Worker - Handle errors when dealing with gzipped modules 706*cc4ad7daSAndroid Build Coastguard Worker - depmod now handles errors while writing indices, so it doesn't end up 707*cc4ad7daSAndroid Build Coastguard Worker with a corrupted index without telling the user 708*cc4ad7daSAndroid Build Coastguard Worker 709*cc4ad7daSAndroid Build Coastguard Workerkmod 8 710*cc4ad7daSAndroid Build Coastguard Worker====== 711*cc4ad7daSAndroid Build Coastguard Worker 712*cc4ad7daSAndroid Build Coastguard Worker- No new features, small bug fixes only. 713*cc4ad7daSAndroid Build Coastguard Worker - Fix a bug in "modprobe -c" output: be compatible with 714*cc4ad7daSAndroid Build Coastguard Worker module-init-tools 715*cc4ad7daSAndroid Build Coastguard Worker 716*cc4ad7daSAndroid Build Coastguard Worker - Give a useful error message when init_module fails due to bad 717*cc4ad7daSAndroid Build Coastguard Worker parameter or unknown symbols 718*cc4ad7daSAndroid Build Coastguard Worker 719*cc4ad7daSAndroid Build Coastguard Worker - Fix doc generation 720*cc4ad7daSAndroid Build Coastguard Worker 721*cc4ad7daSAndroid Build Coastguard Workerkmod 7 722*cc4ad7daSAndroid Build Coastguard Worker====== 723*cc4ad7daSAndroid Build Coastguard Worker 724*cc4ad7daSAndroid Build Coastguard Worker- Re-order dirs for configuration files to match the change in systemd and 725*cc4ad7daSAndroid Build Coastguard Worker udev: now the priority is: 726*cc4ad7daSAndroid Build Coastguard Worker 1. /etc/modprobe.d 727*cc4ad7daSAndroid Build Coastguard Worker 2. /run/modprobe.d 728*cc4ad7daSAndroid Build Coastguard Worker 3. /lib/modprobe.d 729*cc4ad7daSAndroid Build Coastguard Worker 730*cc4ad7daSAndroid Build Coastguard Worker- Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not 731*cc4ad7daSAndroid Build Coastguard Worker allowing the user to set his preferences. 732*cc4ad7daSAndroid Build Coastguard Worker 733*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 734*cc4ad7daSAndroid Build Coastguard Worker - Return same error codes of module-init-tools when removing modules 735*cc4ad7daSAndroid Build Coastguard Worker with modprobe 736*cc4ad7daSAndroid Build Coastguard Worker - Fix builtin output in "--show-depends" when target kernel is not the 737*cc4ad7daSAndroid Build Coastguard Worker same of the running kernel 738*cc4ad7daSAndroid Build Coastguard Worker - 'modprobe -r' always look at all command line arguments 739*cc4ad7daSAndroid Build Coastguard Worker - Fix '-q' usage in modprobe 740*cc4ad7daSAndroid Build Coastguard Worker 741*cc4ad7daSAndroid Build Coastguard Workerkmod 6 742*cc4ad7daSAndroid Build Coastguard Worker====== 743*cc4ad7daSAndroid Build Coastguard Worker 744*cc4ad7daSAndroid Build Coastguard Worker- New API in libkmod: 745*cc4ad7daSAndroid Build Coastguard Worker - kmod_module_apply_filter(): a generic function to apply filters in a 746*cc4ad7daSAndroid Build Coastguard Worker list of modules. This deprecates the use of 747*cc4ad7daSAndroid Build Coastguard Worker kmod_module_get_filtered_blacklist() 748*cc4ad7daSAndroid Build Coastguard Worker 749*cc4ad7daSAndroid Build Coastguard Worker- More tests in testsuite 750*cc4ad7daSAndroid Build Coastguard Worker 751*cc4ad7daSAndroid Build Coastguard Worker- Add compatibility with uClibc again 752*cc4ad7daSAndroid Build Coastguard Worker 753*cc4ad7daSAndroid Build Coastguard Worker- Lookup modules.builtin.bin to decide if a module is built in kernel 754*cc4ad7daSAndroid Build Coastguard Worker 755*cc4ad7daSAndroid Build Coastguard Worker- Downgrade some log messages so we don't annoy people with useless messages 756*cc4ad7daSAndroid Build Coastguard Worker 757*cc4ad7daSAndroid Build Coastguard Worker- Bug fixes: 758*cc4ad7daSAndroid Build Coastguard Worker - Flag --ignore-loaded was not being properly handled 759*cc4ad7daSAndroid Build Coastguard Worker - Infinite loop with softdeps 760*cc4ad7daSAndroid Build Coastguard Worker - Infinite loop with dumb user configuration with install commands 761*cc4ad7daSAndroid Build Coastguard Worker - Fix leak in index when there's a partial match 762*cc4ad7daSAndroid Build Coastguard Worker 763*cc4ad7daSAndroid Build Coastguard Worker- Move repository and tarballs to kernel.org 764*cc4ad7daSAndroid Build Coastguard Worker 765*cc4ad7daSAndroid Build Coastguard Workerkmod 5 766*cc4ad7daSAndroid Build Coastguard Worker====== 767*cc4ad7daSAndroid Build Coastguard Worker 768*cc4ad7daSAndroid Build Coastguard Worker- Break libkmod's API to insert a module like modprobe does. It now accepts 769*cc4ad7daSAndroid Build Coastguard Worker extra an extra argument to print its action and acceptable flags were 770*cc4ad7daSAndroid Build Coastguard Worker sanitized. 771*cc4ad7daSAndroid Build Coastguard Worker 772*cc4ad7daSAndroid Build Coastguard Worker- Share more code between modprobe and libkmod: using the new version of 773*cc4ad7daSAndroid Build Coastguard Worker kmod_module_probe_insert_module() it's possible to share a great amount of 774*cc4ad7daSAndroid Build Coastguard Worker code between modprobe and libkmod 775*cc4ad7daSAndroid Build Coastguard Worker 776*cc4ad7daSAndroid Build Coastguard Worker- modprobe no longer works with paths: it only accepts module names and/or 777*cc4ad7daSAndroid Build Coastguard Worker aliases now. 778*cc4ad7daSAndroid Build Coastguard Worker 779*cc4ad7daSAndroid Build Coastguard Worker- testsuite was added to repository, allowing automated tests to be run and 780*cc4ad7daSAndroid Build Coastguard Worker easing the way bugs are reproduced. 781*cc4ad7daSAndroid Build Coastguard Worker 782*cc4ad7daSAndroid Build Coastguard Worker- modprobe: when dumping configuration ('-c' option) separate config 783*cc4ad7daSAndroid Build Coastguard Worker and indexes by adding a commented line between them. 784*cc4ad7daSAndroid Build Coastguard Worker 785*cc4ad7daSAndroid Build Coastguard Worker- Fix bugs wrt normalizing aliases and module names 786*cc4ad7daSAndroid Build Coastguard Worker 787*cc4ad7daSAndroid Build Coastguard Worker- Fix bug wrt inserting an alias that resolves to multiple modules: we should 788*cc4ad7daSAndroid Build Coastguard Worker not stop on the first error, but rather continue to try loading other 789*cc4ad7daSAndroid Build Coastguard Worker modules. 790*cc4ad7daSAndroid Build Coastguard Worker 791*cc4ad7daSAndroid Build Coastguard Worker- Fix unaligned memory access in hash function, causing depmod to output wrong 792*cc4ad7daSAndroid Build Coastguard Worker information in ARMv5 793*cc4ad7daSAndroid Build Coastguard Worker 794*cc4ad7daSAndroid Build Coastguard Worker- Fix man page build and install: now they are only installed if tools are 795*cc4ad7daSAndroid Build Coastguard Worker enabled 796*cc4ad7daSAndroid Build Coastguard Worker 797*cc4ad7daSAndroid Build Coastguard Workerkmod 4 798*cc4ad7daSAndroid Build Coastguard Worker====== 799*cc4ad7daSAndroid Build Coastguard Worker 800*cc4ad7daSAndroid Build Coastguard Worker- New APIs in libkmod to: 801*cc4ad7daSAndroid Build Coastguard Worker - Get configuration lists: blacklists, install commands, remove 802*cc4ad7daSAndroid Build Coastguard Worker commands, aliases, options and softdeps 803*cc4ad7daSAndroid Build Coastguard Worker - Dump indexes 804*cc4ad7daSAndroid Build Coastguard Worker 805*cc4ad7daSAndroid Build Coastguard Worker- Several bugs fixed in libkmod, modprobe, depmod and modinfo 806*cc4ad7daSAndroid Build Coastguard Worker 807*cc4ad7daSAndroid Build Coastguard Worker- API documentation: if configure with run with --enable-gtk-doc, the API doc 808*cc4ad7daSAndroid Build Coastguard Worker will be generated by make. Gtk-doc is required for that. 809*cc4ad7daSAndroid Build Coastguard Worker 810*cc4ad7daSAndroid Build Coastguard Worker- Man pages are built, which replace man pages from module-init-tools 811*cc4ad7daSAndroid Build Coastguard Worker 812*cc4ad7daSAndroid Build Coastguard Worker- 'include' and 'config' options in *.conf files were deprecated 813*cc4ad7daSAndroid Build Coastguard Worker 814*cc4ad7daSAndroid Build Coastguard Worker- configure is not run by autogen.sh. Instead, a common set of options is 815*cc4ad7daSAndroid Build Coastguard Worker printed. If you are hacking on kmod, consider using bootstrap-configure 816*cc4ad7daSAndroid Build Coastguard Worker script. 817*cc4ad7daSAndroid Build Coastguard Worker 818*cc4ad7daSAndroid Build Coastguard Worker- 'modprobe -c' works as expected now. As opposed to module-init-tools, it 819*cc4ad7daSAndroid Build Coastguard Worker dumps the parsed configuration, not only the file contents. 820*cc4ad7daSAndroid Build Coastguard Worker 821*cc4ad7daSAndroid Build Coastguard Workerkmod 3 822*cc4ad7daSAndroid Build Coastguard Worker====== 823*cc4ad7daSAndroid Build Coastguard Worker 824*cc4ad7daSAndroid Build Coastguard Worker- New APIs in libkmod to: 825*cc4ad7daSAndroid Build Coastguard Worker - Get symbols from module, parsing the ELF section 826*cc4ad7daSAndroid Build Coastguard Worker - Get dependency symbols 827*cc4ad7daSAndroid Build Coastguard Worker - Check if resources are still valid or if libkmod must be reloaded 828*cc4ad7daSAndroid Build Coastguard Worker - Insert module like modprobe, checking (soft-)dependencies, commands, 829*cc4ad7daSAndroid Build Coastguard Worker blacklist. It can run commands by itself and to call a callback 830*cc4ad7daSAndroid Build Coastguard Worker function. 831*cc4ad7daSAndroid Build Coastguard Worker 832*cc4ad7daSAndroid Build Coastguard Worker- Support to load modules compressed with xz 833*cc4ad7daSAndroid Build Coastguard Worker 834*cc4ad7daSAndroid Build Coastguard Worker- Tools are now bundled together in a single tool called kmod. It can be 835*cc4ad7daSAndroid Build Coastguard Worker called using symlinks with the same names as tools from module-init-tools. 836*cc4ad7daSAndroid Build Coastguard Worker E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a 837*cc4ad7daSAndroid Build Coastguard Worker 1:1 replacement of module-init-tools. 838*cc4ad7daSAndroid Build Coastguard Worker 839*cc4ad7daSAndroid Build Coastguard Worker- The only missing tool, depmod, was added to kmod together with the necessary 840*cc4ad7daSAndroid Build Coastguard Worker APIs in libkmod. 841*cc4ad7daSAndroid Build Coastguard Worker 842*cc4ad7daSAndroid Build Coastguard Worker- If a program using libkmod runs for a long time, as for example udev, it must 843*cc4ad7daSAndroid Build Coastguard Worker check if it doesn't have to re-load libkmod. A new helper function was added 844*cc4ad7daSAndroid Build Coastguard Worker in libkmod to check if context is still valid and udev is already using it. 845*cc4ad7daSAndroid Build Coastguard Worker 846*cc4ad7daSAndroid Build Coastguard Worker- An 'unaligned access' bug was fixed. So those architecture that does not 847*cc4ad7daSAndroid Build Coastguard Worker handle unaligned access can use kmod, too. 848*cc4ad7daSAndroid Build Coastguard Worker 849*cc4ad7daSAndroid Build Coastguard Workerkmod 2 850*cc4ad7daSAndroid Build Coastguard Worker====== 851*cc4ad7daSAndroid Build Coastguard Worker 852*cc4ad7daSAndroid Build Coastguard WorkerSome bugs fixed: the worst of them was with an infinite loop when an alias 853*cc4ad7daSAndroid Build Coastguard Workermatched more than one module. 854*cc4ad7daSAndroid Build Coastguard Worker 855*cc4ad7daSAndroid Build Coastguard Worker- New APIs in libkmod to: 856*cc4ad7daSAndroid Build Coastguard Worker - Get soft dependencies 857*cc4ad7daSAndroid Build Coastguard Worker - Get info from module files parsing ELF 858*cc4ad7daSAndroid Build Coastguard Worker - Get modversions from files parsing ELF 859*cc4ad7daSAndroid Build Coastguard Worker 860*cc4ad7daSAndroid Build Coastguard Worker- Support to load gzipped kernel modules: kmod can be compiled with support to 861*cc4ad7daSAndroid Build Coastguard Worker gzipped modules by giving the --enable-zlib flag 862*cc4ad7daSAndroid Build Coastguard Worker 863*cc4ad7daSAndroid Build Coastguard Worker- Support to forcefully load modules, both vermagic and modversion 864*cc4ad7daSAndroid Build Coastguard Worker 865*cc4ad7daSAndroid Build Coastguard Worker- Support to force and nowait removal flags 866*cc4ad7daSAndroid Build Coastguard Worker 867*cc4ad7daSAndroid Build Coastguard Worker- Configuration files are parsed in the same order as modprobe: files are 868*cc4ad7daSAndroid Build Coastguard Worker sorted alphabetically (independently of their dir) and files with the same 869*cc4ad7daSAndroid Build Coastguard Worker name obey a precedence order 870*cc4ad7daSAndroid Build Coastguard Worker 871*cc4ad7daSAndroid Build Coastguard Worker- New tool: kmod-modinfo 872*cc4ad7daSAndroid Build Coastguard Worker 873*cc4ad7daSAndroid Build Coastguard Worker- kmod-modprobe gained several features to be a 1:1 replacement for modprobe. 874*cc4ad7daSAndroid Build Coastguard Worker The only missing things are the options '--showconfig' and '-t / -l'. These 875*cc4ad7daSAndroid Build Coastguard Worker last ones have been deprecated long ago and they will be removed from 876*cc4ad7daSAndroid Build Coastguard Worker modprobe. A lot of effort has been put on kmod-modprobe to ensure it 877*cc4ad7daSAndroid Build Coastguard Worker maintains compabitility with modprobe. 878*cc4ad7daSAndroid Build Coastguard Worker 879*cc4ad7daSAndroid Build Coastguard Worker- [email protected] became the official mailing list for kmod 880*cc4ad7daSAndroid Build Coastguard Worker 881*cc4ad7daSAndroid Build Coastguard Workerkmod 1 882*cc4ad7daSAndroid Build Coastguard Worker====== 883*cc4ad7daSAndroid Build Coastguard Worker 884*cc4ad7daSAndroid Build Coastguard WorkerFirst version of kmod and its library, libkmod. 885*cc4ad7daSAndroid Build Coastguard Worker 886*cc4ad7daSAndroid Build Coastguard WorkerIn the libkmod it's currently possible to: 887*cc4ad7daSAndroid Build Coastguard Worker - List modules currently loaded 888*cc4ad7daSAndroid Build Coastguard Worker - Get information about loaded modules such as initstate, refcount, 889*cc4ad7daSAndroid Build Coastguard Worker holders, sections, address and size 890*cc4ad7daSAndroid Build Coastguard Worker - Lookup modules by alias, module name or path 891*cc4ad7daSAndroid Build Coastguard Worker - Insert modules: options from configuration and extra options can be 892*cc4ad7daSAndroid Build Coastguard Worker passed, but flags are not implemented, yet 893*cc4ad7daSAndroid Build Coastguard Worker - Remove modules 894*cc4ad7daSAndroid Build Coastguard Worker - Filter list of modules using blacklist 895*cc4ad7daSAndroid Build Coastguard Worker - For each module, get the its list of options and install/remove 896*cc4ad7daSAndroid Build Coastguard Worker commands 897*cc4ad7daSAndroid Build Coastguard Worker - Indexes can be loaded on startup to speedup lookups later 898*cc4ad7daSAndroid Build Coastguard Worker 899*cc4ad7daSAndroid Build Coastguard WorkerTools provided with the same set of options as in module-init-tools: 900*cc4ad7daSAndroid Build Coastguard Worker - kmod-lsmod 901*cc4ad7daSAndroid Build Coastguard Worker - kmod-insmod 902*cc4ad7daSAndroid Build Coastguard Worker - kmod-rmmod 903*cc4ad7daSAndroid Build Coastguard Worker - kmod-modprobe, with some functionality still missing (use of softdep, 904*cc4ad7daSAndroid Build Coastguard Worker dump configuration, show modversions) 905