Lucas De Marchi | 1ccfe99 | 2021-01-07 10:43:36 -0800 | [diff] [blame] | 1 | kmod 28 |
| 2 | ======= |
| 3 | |
| 4 | - Improvements |
| 5 | - Add Zstandard to the supported compression formats using libzstd |
| 6 | (pass --with-zstd to configure) |
| 7 | |
| 8 | - Bug fixes |
| 9 | - Ignore ill-formed kernel command line, e.g. with "ivrs_acpihid[00:14.5]=AMD0020:0" |
| 10 | option in it |
| 11 | - Fix some memory leaks |
| 12 | - Fix 0-length builtin.alias.bin: it needs at least the index header |
| 13 | |
Lucas De Marchi | 819a125 | 2020-02-18 15:54:07 -0800 | [diff] [blame] | 14 | kmod 27 |
| 15 | ======= |
| 16 | |
| 17 | - Improvements |
| 18 | - Link to libcrypto rather than requiring openssl |
| 19 | |
| 20 | - Print a better error message when kernel doesn't support module unload |
| 21 | |
| 22 | - Use PKCS#7 instead of CMS for parsing module signature to be |
| 23 | compatible with LibreSSL and OpenSSL < 1.1.0 |
| 24 | |
| 25 | - Teach modinfo to parse modules.builtin.modinfo. When using Linux kernel |
| 26 | >= v5.2-rc1 it's possible to get module information from this new file. Now |
| 27 | modinfo is able to show it instead of an error message that the module is |
| 28 | built-in: |
| 29 | |
| 30 | Before: |
| 31 | $ modinfo ext4 |
| 32 | modinfo: ERROR: Module ext4 not found. |
| 33 | |
| 34 | After: |
| 35 | $ modinfo ext4 |
| 36 | name: ext4 |
| 37 | filename: (builtin) |
| 38 | softdep: pre: crc32c |
| 39 | license: GPL |
| 40 | description: Fourth Extended Filesystem |
| 41 | author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others |
| 42 | alias: fs-ext4 |
| 43 | alias: ext3 |
| 44 | alias: fs-ext3 |
| 45 | alias: ext2 |
| 46 | alias: fs-ext2 |
| 47 | |
| 48 | - Bug fixes |
| 49 | - Do not link python bindings with libpython to be compatible with |
| 50 | python3.8 |
| 51 | |
| 52 | - Fix module removal with `modprobe -r` when a dependency is built-in. |
| 53 | Now it properly ignores them and proceed with removal of other |
| 54 | dependencies |
| 55 | |
| 56 | - Fix propagation of return code from install/remove commands to the |
| 57 | the probe function. The return values of kmod_module_probe_insert_module() |
| 58 | have very specific meanings, do not confuse the caller by return codes |
| 59 | from system() |
| 60 | |
| 61 | - Fix softdep config parsing leading to buffer overflow |
| 62 | |
Lucas De Marchi | 58133a9 | 2019-02-07 13:46:40 -0800 | [diff] [blame] | 63 | kmod 26 |
| 64 | ======= |
| 65 | |
| 66 | - Improvements |
| 67 | - Add more error-checking in library functions and remove warnings on newer |
| 68 | toolchains |
| 69 | |
| 70 | - Depmod now handles parallel invoctions better by protecting the temporary |
| 71 | files being used |
| 72 | |
| 73 | - Improvements to testsuite and added tests to check the our behavior |
| 74 | regardless of the features enabled in the kernel, or libraries we link to |
| 75 | |
| 76 | - Teach the --show-exports option to modprobe. This works similarly to |
| 77 | --show-modversions, but it reports the exported symbols from that module. |
| 78 | Under the hood this reads the .symtab and .strtab section rather than |
| 79 | __versions so it shows useful data even if kernel is configured without |
| 80 | modversions (CONFIG_MODVERSIONS) |
| 81 | |
| 82 | - Teach pkcs7 parsing to modinfo by using openssl. This allows modinfo to |
| 83 | correctly parse the signature appended to a module by the kernel build |
| 84 | system when configured with CONFIG_MODULE_SIG_ALL, or when externally |
| 85 | signed by the distro. Traditionally modules were signed and a struct |
| 86 | was appended together with the signature to the end of the module. |
| 87 | This has changed on the kernel for pkcs#7 and now the structure isn't |
| 88 | filled out with useful information. So we have to parse the signature |
| 89 | block in order to return useful data to the user. |
| 90 | |
| 91 | If kmod is linked with openssl we parse the signature and return the |
| 92 | fields as we do for other signatures. An example of the relevant part |
| 93 | on the output of modinfo is below: |
| 94 | |
| 95 | Before: |
| 96 | sig_id: PKCS#7 |
| 97 | signer: |
| 98 | sig_key: |
| 99 | sig_hashalgo: md4 |
| 100 | After: |
| 101 | sig_id: PKCS#7 |
| 102 | signer: Fedora kernel signing key |
| 103 | sig_key: 51:C4:0C:6D:7E:A5:6C:D8:8F:B4:3A:DF:91:78:4F:18:BC:D5:E4:C5 |
| 104 | sig_hashalgo: sha256 |
| 105 | |
| 106 | If kmod is not linked to openssl we just start printing "unknonwn" in the |
| 107 | sig_hashalgo field rather than the bogus value. |
| 108 | |
| 109 | |
Lucas De Marchi | aca4eca | 2018-01-08 17:30:39 -0800 | [diff] [blame] | 110 | kmod 25 |
| 111 | ======= |
| 112 | |
| 113 | - Improvements |
| 114 | - Add module signature to modinfo output |
| 115 | |
| 116 | - Add support for external directories in depmod: now there's a new |
| 117 | "external" keyword parsed by depmod when calculating the dependencies. |
| 118 | It allows to add modules to other directories which are not relative |
| 119 | to where the modules are commonly installed. This results in |
| 120 | modules.dep and friends now understanding absolute paths rather than |
| 121 | relative paths only. For more information see depmod.d(1). |
| 122 | |
| 123 | - Add support for CONFIG_MODULE_REL_CRCS |
| 124 | |
| 125 | - Add missing documentation references in man pages |
| 126 | |
| 127 | - Handle the case in which module has a .TOC symbol already while |
| 128 | calculating dependencies |
| 129 | |
| 130 | - Improve testsuite and allow to use mkosi to run testsuite in different |
| 131 | distros |
| 132 | |
Lucas De Marchi | ef4257b | 2017-02-23 23:32:51 -0800 | [diff] [blame] | 133 | kmod 24 |
| 134 | ======= |
| 135 | |
| 136 | - Improvements: |
| 137 | - Add more information on dependency loop |
| 138 | |
| 139 | - Sanitize use of strcpy and allow to grow from small strings on stack |
| 140 | (common case) to bigger strings on heap when needed |
| 141 | |
| 142 | - Bug fixes |
| 143 | - Fix wrong dependency loops being reported by depmod |
| 144 | |
| 145 | - Fix crashes when reporting dependency loops |
| 146 | |
| 147 | - Fix parsing kernel command line containing quotes |
| 148 | |
| 149 | - Fix leaks on error paths |
| 150 | |
Lucas De Marchi | a29268d | 2016-06-28 15:28:47 -0300 | [diff] [blame] | 151 | kmod 23 |
| 152 | ======= |
| 153 | |
| 154 | - Improvements: |
| 155 | - Don't add comment to modules.devname if it would otherwise be empty |
| 156 | to play nice with tools detecting empty files |
| 157 | |
| 158 | - Allow building with BSD sed, that doesn't have -E flag |
| 159 | |
| 160 | - Ignore .TOC. symbols in depmod parsing as it's for PPC64 the |
| 161 | equivalent of _GLOBAL_OFFSET_TABLE_ |
| 162 | |
| 163 | - Teach modinfo about PKCS#7 module signatures: it doesn't add any |
| 164 | other info besides telling the user the module is signed since |
| 165 | kernel doesn't add other info on the module section |
| 166 | |
| 167 | - Bug fixes |
| 168 | |
| 169 | - Fix -s and -p compat options to insmod triggering force flag |
| 170 | |
| 171 | - Fix long lines from /proc/modules not being handled correctly by |
| 172 | kmod_module_new_from_loaded() and kmod_module_get_size() and several |
| 173 | other library functions that use them |
| 174 | |
| 175 | - Fix crash on modinfo while checking for available signature of |
| 176 | unknown type |
| 177 | |
| 178 | - Fix documentation generation with gtk-doc |
| 179 | |
Lucas De Marchi | 42f32b8 | 2015-11-17 22:12:07 -0200 | [diff] [blame] | 180 | kmod 22 |
| 181 | ======= |
| 182 | |
| 183 | - Tools: |
| 184 | - Change defaul log level for tools to WARNING rather than ERROR and update |
| 185 | some log levels for current messages |
| 186 | |
| 187 | - depmod doesn't fallback to uname if a bad version is passed in the command |
| 188 | line anymore. We just exit with an error. |
| 189 | |
| 190 | - insmod was taught the -f flag, just like in modprobe. It was previously |
| 191 | silently ignoring it. |
| 192 | |
| 193 | - libkmod |
| 194 | - New kmod_get_dirname() API to get the module directory set in the |
| 195 | context |
| 196 | |
| 197 | - Bug fixes: |
| 198 | - Fix return code in error path of kmod_module_insert_module(). We were |
| 199 | previously returning ENOSYS rather than ENOENT. |
| 200 | |
Lucas De Marchi | 2bfcd7e | 2015-06-09 02:36:14 -0300 | [diff] [blame] | 201 | kmod 21 |
| 202 | ======= |
| 203 | |
| 204 | - New features: |
| 205 | - kmod tool started to learn the "insert" and "remove" commands that |
| 206 | are the simplified versions of the older modprobe tool. These |
| 207 | commands are still work in progress so they are hidden behind a |
| 208 | --enable-experimental flag during build. It should not be enabled |
| 209 | unless you know what you're doing. |
| 210 | - kmod tool now prints the relevant configuration options it was built |
| 211 | with when the "--version" argument is passed. This helps to mitigate |
| 212 | problems for example when the user is trying to load a compressed |
| 213 | module but kmod was built without support for the compression method. |
| 214 | |
| 215 | - Improvements to testsuite: |
| 216 | - Cache built modules so it is easier to run "make check" on build |
| 217 | servers by distro maintainers. If kmod is configured with |
| 218 | --disable-test-modules the modules from cache will be used by |
| 219 | "make check". No changes to the tests are needed and all of them |
| 220 | can run fine. |
| 221 | |
Lucas De Marchi | d9c7175 | 2015-03-01 14:43:09 -0300 | [diff] [blame] | 222 | kmod 20 |
| 223 | ======= |
| 224 | - Bug fixes: |
| 225 | - Handle bogus values from ELF, making sure they don't overflow while |
| 226 | parsing the file |
| 227 | - Fix leak in depmod when -b flag is passed multiple times |
| 228 | - Multiple minor fixes from static analysis by coverity and |
| 229 | clang-analyze |
| 230 | - Fix race between loading modules and checking if it's loaded in the |
| 231 | kernel |
| 232 | |
| 233 | - New features: |
| 234 | - There's a change in behavior regarding builtin modules: we now only |
| 235 | consider as builtin those that are present in modules.builtin index. |
| 236 | Previously we were also checking the presence of |
| 237 | /sys/module/<module-name>, but this is racy and only modules that |
| 238 | contain parameters are the ones creating a directory in sysfs. |
| 239 | |
| 240 | Now some commands will start to fail, e.g. "modprobe vt". Since vt |
| 241 | can't be compiled as a module it's not present in modules.builtin |
| 242 | index. Previously we would report at as builtin, but now we fail |
| 243 | because we couldn't find the module. |
| 244 | |
| 245 | - Improvements: |
| 246 | - Integration of gcov into the build. Currently libkmod is at ~70% |
| 247 | covered and tools at ~50% by tests in the testsuite. Utility |
| 248 | functions and structures in shared have more than 90% of coverage. |
| 249 | - Upload build to coverity |
| 250 | |
| 251 | - Improvements to testsuite: |
| 252 | - Fix parsing return codes of init_module() calls |
| 253 | - Add tests for utility functions in shared/ |
| 254 | - Add tests for kmod_module_remove_module() |
| 255 | - Add playground, in which our own modules are compiled |
| 256 | - Port all tests to use modules from module-playground instead of |
| 257 | copying prebuilt modules to the repository |
| 258 | - Properly handle binaries that exit with no output |
| 259 | - Besides comparing the output of commands, allow to copy to |
| 260 | stdout/stderr |
| 261 | |
Lucas De Marchi | f9e2167 | 2014-11-16 10:24:50 -0200 | [diff] [blame] | 262 | kmod 19 |
| 263 | ======= |
| 264 | |
| 265 | - Bug fixes: |
| 266 | - Fix missing CLOEXEC in library |
| 267 | - Fix error message while opening kmod's index |
| 268 | |
| 269 | - New features: |
| 270 | - Add kmod(8) man page |
| 271 | - Allow to build with libc's without be32toh() |
| 272 | - Move code around separating common code and data structures into a |
| 273 | shared directory. This allows to share more code between library and |
Lucas De Marchi | 3b05861 | 2014-11-16 10:37:45 -0200 | [diff] [blame] | 274 | tools, making the binary size of tools smaller. |
Lucas De Marchi | f9e2167 | 2014-11-16 10:24:50 -0200 | [diff] [blame] | 275 | - Clarify tools vs library licenses |
Lucas De Marchi | 3b05861 | 2014-11-16 10:37:45 -0200 | [diff] [blame] | 276 | - static-nodes: when writing in tmpfiles format, indicate that |
Lucas De Marchi | f9e2167 | 2014-11-16 10:24:50 -0200 | [diff] [blame] | 277 | creation of static nodes should only happen at boot. This is used and |
| 278 | required by systemd-217+. |
| 279 | |
| 280 | - Improvements to testsuite: |
| 281 | - Add tests for newly created shared/ code |
| 282 | - Improve how tests are declared so there's less boilerplate code for |
| 283 | each test. |
| 284 | |
Lucas De Marchi | ae58de0 | 2014-06-14 12:46:38 -0300 | [diff] [blame] | 285 | kmod 18 |
| 286 | ======= |
| 287 | |
| 288 | - Bug fixes: |
| 289 | - Fix leaks in error paths |
| 290 | - Fix use-after-free in hash implementation causing a wrong index to be |
| 291 | generated by depmod with out-of-tree modules |
| 292 | |
| 293 | - New features: |
| 294 | - Calling depmod with modules creating a dependency loop will now make |
| 295 | depmod return an error and not update the indexes. This is to protect |
| 296 | the current index not being overridden by another index that may cause |
| 297 | a boot failure, depending on the buggy module. It's a necessary |
| 298 | change in behavior regarding previous kmod releases and |
| 299 | module-init-tools. The error message was also improved to output |
| 300 | the modules that caused the dependency cycle. |
| 301 | |
| 302 | - Improvements to testsuite: |
| 303 | - Fix and improve expected-fail test |
| 304 | - Add tests for hashmap implementation |
| 305 | |
Lucas De Marchi | 49d8e0b | 2014-04-06 17:52:44 -0300 | [diff] [blame] | 306 | kmod 17 |
| 307 | ======= |
| 308 | |
| 309 | - Bug fixes: |
| 310 | - Fix matching a "." in kernel cmdline, making garbage in the command |
| 311 | line be parsed as kmod options |
| 312 | - Fix man pages to clarify we don't fallback to parsing modules.dep |
| 313 | but instead we depend on modules.dep.bin (generated by depmod) to |
| 314 | be present |
| 315 | - Fix ELF parsing on 32 bit systems assigning the wrong class. |
| 316 | - Fix partial matches of search directives in depmod. Previously having |
| 317 | a line in depmod.conf such as "search foo foobar built-in" would cause |
| 318 | unpretictable results because foo is a partial match of foobar as well. |
| 319 | - Fix unaligned access in modinfo when getting the signature from a |
| 320 | module |
| 321 | - Make sure softdeps are treated as optional dependencies |
| 322 | |
| 323 | - New features: |
| 324 | - Accept special files given to "-C" switch in modprobe. This way it's |
| 325 | possible to skip system configuration with "modprobe -C /dev/null" |
| 326 | - Do not require xsltproc on released tarballs |
| 327 | - Don't use Werror anymore |
| 328 | - Add experimental python bindings, merged from python-kmod repository |
| 329 | (https://github.com/agrover/python-kmod) |
| 330 | - Parse softdeps exported by the kernel as |
| 331 | /lib/modules/`uname -r`/modules.softdep |
| 332 | |
| 333 | - Improvements to testsuite: |
| 334 | - Check the list of loaded modules after a test |
| 335 | |
Lucas De Marchi | 7ab8804 | 2013-09-20 01:30:07 -0500 | [diff] [blame] | 336 | kmod 16 |
| 337 | ======= |
| 338 | |
Lucas De Marchi | 8f67ab5 | 2013-09-20 01:50:40 -0500 | [diff] [blame] | 339 | - Bug fixes: |
| 340 | - Fix usage of readdir_r() |
Lucas De Marchi | 36c4bb9 | 2013-12-22 19:45:19 -0200 | [diff] [blame] | 341 | - Add some missing checks for memory allocation errors |
Lucas De Marchi | 8f67ab5 | 2013-09-20 01:50:40 -0500 | [diff] [blame] | 342 | |
Lucas De Marchi | 7ab8804 | 2013-09-20 01:30:07 -0500 | [diff] [blame] | 343 | - New features: |
| 344 | - Remove option from libkmod to allow waiting on module removal if |
| 345 | the module is being used. It's dangerous since it can block the |
| 346 | caller indefinitely. |
Lucas De Marchi | 8f67ab5 | 2013-09-20 01:50:40 -0500 | [diff] [blame] | 347 | - Improve compatibility with musl libc |
| 348 | - Add fallback implementation for compilers without _Static_assert(), |
| 349 | e.g. gcc < 4.6 |
| 350 | - Minor optimizations to the hash table |
| 351 | - Make depmod warn if a module has incorrect devname specification |
Lucas De Marchi | 36c4bb9 | 2013-12-22 19:45:19 -0200 | [diff] [blame] | 352 | - Use cleanup attribute |
Lucas De Marchi | 7ab8804 | 2013-09-20 01:30:07 -0500 | [diff] [blame] | 353 | |
Lucas De Marchi | b3e19ce | 2013-07-17 02:31:36 -0300 | [diff] [blame] | 354 | kmod 15 |
| 355 | ======= |
| 356 | |
| 357 | - Bug fixes: |
| 358 | - kmod static-nodes doesn't fail if modules.devname isn't available |
Lucas De Marchi | 18811d2 | 2013-08-22 10:44:08 -0300 | [diff] [blame] | 359 | - Fix getting boolean parameter from kernel cmdline in case the value |
| 360 | is omitted |
| 361 | - Fix some mkdir_p() corner cases (used in testsuite and static-nodes) |
Lucas De Marchi | b3e19ce | 2013-07-17 02:31:36 -0300 | [diff] [blame] | 362 | |
| 363 | - New features: |
| 364 | - kmod static-nodes creates parent directories if given a -o option |
Lucas De Marchi | 18811d2 | 2013-08-22 10:44:08 -0300 | [diff] [blame] | 365 | - kmod binary statically links to libkmod - if distro is only interested |
| 366 | in the kmod tool (for example in an initrd) it can refrain from |
| 367 | installing the library |
| 368 | - Add shell completion for kmod tool |
Lucas De Marchi | b3e19ce | 2013-07-17 02:31:36 -0300 | [diff] [blame] | 369 | |
Lucas De Marchi | 3b38c7f | 2013-07-03 12:42:04 -0300 | [diff] [blame] | 370 | kmod 14 |
| 371 | ======= |
| 372 | |
| 373 | - Bug fixes: |
| 374 | - Fix some format strings |
| 375 | - Protect against NULL being passed around to index |
| 376 | - Avoid calling syscall() with -1 when finit_module() is not available, |
| 377 | since this doesn't always work |
| 378 | - Fix not being able to remove alias due to checking the module's |
| 379 | refcount |
| 380 | - Minor fixes and refactors |
| 381 | |
| 382 | - New features: |
| 383 | - Improve libkmod documentation, particularly on how flags are dealt |
| 384 | with. |
| 385 | - Remove ability to build a static libkmod |
| 386 | - Add static-nodes command to kmod that parses modules.devname |
| 387 | generating output in useful formats |
| 388 | |
Lucas De Marchi | abb910e | 2013-04-09 19:35:32 -0300 | [diff] [blame] | 389 | kmod 13 |
| 390 | ======= |
| 391 | |
| 392 | - Bug fixes: |
| 393 | - Add the long option --symbol-prefix option to depmod (it was absent) |
| 394 | and fix its behavior |
| 395 | - Don't abort if there's a bogus line in configuration file like "alias |
| 396 | psmouse off". Some distros are carrying this since the days of |
| 397 | modutils |
| 398 | |
| 399 | - New features: |
| 400 | - Add support for finit_module(2). If the module is load straight from |
| 401 | the disk and without compression we use finit_module() syscall when |
| 402 | available, falling back to init_module() otherwise |
| 403 | - kmod_module_get_info() also returns the signature if the module is |
| 404 | signed and modinfo uses it |
| 405 | - Use secure_getenv if available |
| 406 | - rmmod understands builtin modules, just like modprobe does |
| 407 | - Improve compatibility with musl-libc |
| 408 | - Test cases exit with success when receiving a signal if they are |
| 409 | xfail tests |
| 410 | |
Lucas De Marchi | 6feba02 | 2012-12-05 01:39:17 -0200 | [diff] [blame] | 411 | kmod 12 |
| 412 | ======= |
| 413 | |
| 414 | - Bug fixes: |
| 415 | - Fix removing vermagic from module when told to force load a module |
| 416 | - Fix removing __versions section when told to force load a module: we |
| 417 | need to mangle the section header, not the section. |
| 418 | - modinfo no longer fails while loading a module from file when path |
| 419 | contains ".ko" substring |
| 420 | |
Lucas De Marchi | c599606 | 2012-11-08 02:30:21 -0200 | [diff] [blame] | 421 | kmod 11 |
| 422 | ======= |
| 423 | |
| 424 | - Improvements to testsuite: |
| 425 | - Fix testsuite defining symbols twice on 32 bit systems |
| 426 | - Allow to check generated files against correct ones |
| 427 | |
| 428 | - New features: |
| 429 | - libkmod now keeps a file opened after the first call to |
| 430 | kmod_module_get_{info,versions,symbols,dependency_symbols}. This |
Shuo Wang | c724332 | 2020-11-25 09:31:21 +0800 | [diff] [blame] | 431 | reduces significantly the amount of time depmod tool takes to |
Lucas De Marchi | c599606 | 2012-11-08 02:30:21 -0200 | [diff] [blame] | 432 | execute. Particularly if compressed modules are used. |
| 433 | - Remove --with-rootprefix from build system. It was not a great idea |
| 434 | after all and should not be use since it causes more harm then |
| 435 | benefits. |
| 436 | - Hide --wait option on rmmod. This feature is being targeted for |
| 437 | removal from kernel. rmmod still accepts this option, but it's hidden |
Lucas De Marchi | 7ab8804 | 2013-09-20 01:30:07 -0500 | [diff] [blame] | 438 | now: man page and usage() say nothing about it and if it's used, |
Lucas De Marchi | c599606 | 2012-11-08 02:30:21 -0200 | [diff] [blame] | 439 | user will get a 10s sleep. This way we can check and help if anyone |
| 440 | is using this feature. |
| 441 | - Refactor message logging on all tools, giving proper prefix, routing |
| 442 | everything to syslog when asked for, etc. |
| 443 | |
| 444 | - Bug fixes: |
| 445 | - Fix parsing of modules.order when using compressed modules |
| 446 | - Usage messages go to stdout instead of stderr |
| 447 | - Fix memory leak in hash implementation |
| 448 | |
Lucas De Marchi | 4075860 | 2012-09-06 16:26:53 -0300 | [diff] [blame] | 449 | kmod 10 |
| 450 | ======= |
| 451 | |
| 452 | - New features: |
| 453 | - Read coresize from /sys if supported |
| 454 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 455 | - Add flag to kmod_module_probe_insert() to apply blacklisting during |
| 456 | probe only if mod is an alias. Now modprobe uses this flag by default. |
Lucas De Marchi | 4075860 | 2012-09-06 16:26:53 -0300 | [diff] [blame] | 457 | This is needed to fix a change in behavior regarding module-init-tools |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 458 | and ultimately makes us loading a blacklisted module. |
Lucas De Marchi | 4075860 | 2012-09-06 16:26:53 -0300 | [diff] [blame] | 459 | |
| 460 | - Better formatting in man pages |
| 461 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 462 | - Add option to disable building man pages at build time |
Lucas De Marchi | 4075860 | 2012-09-06 16:26:53 -0300 | [diff] [blame] | 463 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 464 | - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries |
Lucas De Marchi | 4075860 | 2012-09-06 16:26:53 -0300 | [diff] [blame] | 465 | |
| 466 | - Re-licensing testsuite as LGPL |
| 467 | |
Lucas De Marchi | 62081c0 | 2012-06-19 19:46:53 -0300 | [diff] [blame] | 468 | kmod 9 |
| 469 | ====== |
| 470 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 471 | - Improvements to the testsuite: |
Lucas De Marchi | 62081c0 | 2012-06-19 19:46:53 -0300 | [diff] [blame] | 472 | - Check for correct handling of softdep loops |
| 473 | - Check for correct handling of install command loops |
| 474 | |
| 475 | - Bug fixes: |
| 476 | - Fix build with compilers that don't support --gc-sections |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 477 | - Handle errors when dealing with gzipped modules |
| 478 | - depmod now handles errors while writing indices, so it doesn't end up |
| 479 | with a corrupted index without telling the user |
Lucas De Marchi | 62081c0 | 2012-06-19 19:46:53 -0300 | [diff] [blame] | 480 | |
Lucas De Marchi | 46684bc | 2012-04-19 11:21:00 -0300 | [diff] [blame] | 481 | kmod 8 |
| 482 | ====== |
| 483 | |
| 484 | - No new features, small bug fixes only. |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 485 | - Fix a bug in "modprobe -c" output: be compatible with |
Lucas De Marchi | 46684bc | 2012-04-19 11:21:00 -0300 | [diff] [blame] | 486 | module-init-tools |
| 487 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 488 | - Give a useful error message when init_module fails due to bad |
| 489 | parameter or unknown symbols |
Lucas De Marchi | 46684bc | 2012-04-19 11:21:00 -0300 | [diff] [blame] | 490 | |
| 491 | - Fix doc generation |
| 492 | |
Lucas De Marchi | 8885ced | 2012-03-19 08:23:14 -0300 | [diff] [blame] | 493 | kmod 7 |
| 494 | ====== |
| 495 | |
| 496 | - Re-order dirs for configuration files to match the change in systemd and |
| 497 | udev: now the priority is: |
| 498 | 1. /etc/modprobe.d |
| 499 | 2. /run/modprobe.d |
| 500 | 3. /lib/modprobe.d |
| 501 | |
Jan Engelhardt | a7fbae0 | 2012-09-14 01:55:54 +0200 | [diff] [blame] | 502 | - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not |
| 503 | allowing the user to set his preferences. |
Lucas De Marchi | 8885ced | 2012-03-19 08:23:14 -0300 | [diff] [blame] | 504 | |
| 505 | - Bug fixes: |
| 506 | - Return same error codes of module-init-tools when removing modules |
| 507 | with modprobe |
| 508 | - Fix builtin output in "--show-depends" when target kernel is not the |
| 509 | same of the running kernel |
| 510 | - 'modprobe -r' always look at all command line arguments |
| 511 | - Fix '-q' usage in modprobe |
Lucas De Marchi | 8885ced | 2012-03-19 08:23:14 -0300 | [diff] [blame] | 512 | |
Lucas De Marchi | 26906fe | 2012-03-02 22:34:36 -0300 | [diff] [blame] | 513 | kmod 6 |
| 514 | ====== |
| 515 | |
| 516 | - New API in libkmod: |
| 517 | - kmod_module_apply_filter(): a generic function to apply filters in a |
| 518 | list of modules. This deprecates the use of |
| 519 | kmod_module_get_filtered_blacklist() |
| 520 | |
| 521 | - More tests in testsuite |
| 522 | |
| 523 | - Add compatibility with uClibc again |
| 524 | |
| 525 | - Lookup modules.builtin.bin to decide if a module is built in kernel |
| 526 | |
| 527 | - Downgrade some log messages so we don't annoy people with useless messages |
| 528 | |
| 529 | - Bug fixes: |
| 530 | - Flag --ignore-loaded was not being properly handled |
| 531 | - Infinite loop with softdeps |
| 532 | - Infinite loop with dumb user configuration with install commands |
| 533 | - Fix leak in index when there's a partial match |
| 534 | |
| 535 | - Move repository and tarballs to kernel.org |
| 536 | |
Lucas De Marchi | e479598 | 2012-02-06 20:34:33 -0200 | [diff] [blame] | 537 | kmod 5 |
| 538 | ====== |
| 539 | |
| 540 | - Break libkmod's API to insert a module like modprobe does. It now accepts |
| 541 | extra an extra argument to print its action and acceptable flags were |
| 542 | sanitized. |
| 543 | |
| 544 | - Share more code between modprobe and libkmod: using the new version of |
| 545 | kmod_module_probe_insert_module() it's possible to share a great amount of |
| 546 | code between modprobe and libkmod |
| 547 | |
| 548 | - modprobe no longer works with paths: it only accepts module names and/or |
| 549 | aliases now. |
| 550 | |
| 551 | - testsuite was added to repository, allowing automated tests to be run and |
| 552 | easing the way bugs are reproduced. |
| 553 | |
| 554 | - modprobe: when dumping configuration ('-c' option) separate config |
| 555 | and indexes by adding a commented line between them. |
| 556 | |
| 557 | - Fix bugs wrt normalizing aliases and module names |
| 558 | |
| 559 | - Fix bug wrt inserting an alias that resolves to multiple modules: we should |
| 560 | not stop on the first error, but rather continue to try loading other |
| 561 | modules. |
| 562 | |
| 563 | - Fix unaligned memory access in hash function, causing depmod to output wrong |
| 564 | information in ARMv5 |
| 565 | |
| 566 | - Fix man page build and install: now they are only installed if tools are |
| 567 | enabled |
| 568 | |
Lucas De Marchi | b53b7e3 | 2012-01-16 16:53:04 -0200 | [diff] [blame] | 569 | kmod 4 |
| 570 | ====== |
| 571 | |
| 572 | - New APIs in libkmod to: |
| 573 | - Get configuration lists: blacklists, install commands, remove |
| 574 | commands, aliases, options and softdeps |
| 575 | - Dump indexes |
| 576 | |
| 577 | - Several bugs fixed in libkmod, modprobe, depmod and modinfo |
| 578 | |
| 579 | - API documentation: if configure with run with --enable-gtk-doc, the API doc |
| 580 | will be generated by make. Gtk-doc is required for that. |
| 581 | |
| 582 | - Man pages are built, which replace man pages from module-init-tools |
| 583 | |
| 584 | - 'include' and 'config' options in *.conf files were deprecated |
| 585 | |
| 586 | - configure is not run by autogen.sh. Instead, a common set of options is |
| 587 | printed. If you are hacking on kmod, consider using bootstrap-configure |
| 588 | script. |
| 589 | |
| 590 | - 'modprobe -c' works as expected now. As opposed to module-init-tools, it |
| 591 | dumps the parsed configuration, not only the file contents. |
| 592 | |
Lucas De Marchi | b30a71b | 2012-01-04 22:27:58 -0200 | [diff] [blame] | 593 | kmod 3 |
| 594 | ====== |
| 595 | |
| 596 | - New APIs in libkmod to: |
| 597 | - Get symbols from module, parsing the ELF section |
| 598 | - Get dependency symbols |
| 599 | - Check if resources are still valid or if libkmod must be reloaded |
| 600 | - Insert module like modprobe, checking (soft-)dependencies, commands, |
| 601 | blacklist. It can run commands by itself and to call a callback |
| 602 | function. |
| 603 | |
| 604 | - Support to load modules compressed with xz |
| 605 | |
| 606 | - Tools are now bundled together in a single tool called kmod. It can be |
| 607 | called using symlinks with the same names as tools from module-init-tools. |
| 608 | E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a |
| 609 | 1:1 replacement of module-init-tools. |
| 610 | |
| 611 | - The only missing tool, depmod, was added to kmod together with the necessary |
| 612 | APIs in libkmod. |
| 613 | |
| 614 | - If a program using libkmod runs for a long time, as for example udev, it must |
| 615 | check if it doesn't have to re-load libkmod. A new helper function was added |
| 616 | in libkmod to check if context is still valid and udev is already using it. |
| 617 | |
| 618 | - An 'unaligned access' bug was fixed. So those architecture that does not |
| 619 | handle unaligned access can use kmod, too. |
| 620 | |
Lucas De Marchi | acc18b1 | 2011-12-20 23:48:46 -0200 | [diff] [blame] | 621 | kmod 2 |
| 622 | ====== |
| 623 | |
| 624 | Some bugs fixed: the worst of them was with an infinite loop when an alias |
| 625 | matched more than one module. |
| 626 | |
| 627 | - New APIs in libkmod to: |
| 628 | - Get soft dependencies |
| 629 | - Get info from module files parsing ELF |
| 630 | - Get modversions from files parsing ELF |
| 631 | |
| 632 | - Support to load gzipped kernel modules: kmod can be compiled with support to |
| 633 | gzipped modules by giving the --enable-zlib flag |
| 634 | |
| 635 | - Support to forcefully load modules, both vermagic and modversion |
| 636 | |
| 637 | - Support to force and nowait removal flags |
| 638 | |
| 639 | - Configuration files are parsed in the same order as modprobe: files are |
| 640 | sorted alphabetically (independently of their dir) and files with the same |
| 641 | name obey a precedence order |
| 642 | |
| 643 | - New tool: kmod-modinfo |
| 644 | |
| 645 | - kmod-modprobe gained several features to be a 1:1 replacement for modprobe. |
| 646 | The only missing things are the options '--showconfig' and '-t / -l'. These |
| 647 | last ones have been deprecated long ago and they will be removed from |
| 648 | modprobe. A lot of effort has been put on kmod-modprobe to ensure it |
| 649 | maintains compabitility with modprobe. |
| 650 | |
| 651 | - linux-modules@vger.kernel.org became the official mailing list for kmod |
| 652 | |
Lucas De Marchi | 89eba7c | 2011-12-15 15:43:58 -0200 | [diff] [blame] | 653 | kmod 1 |
| 654 | ====== |
Lucas De Marchi | ecd40ee | 2011-11-21 12:35:15 -0200 | [diff] [blame] | 655 | |
Lucas De Marchi | 89eba7c | 2011-12-15 15:43:58 -0200 | [diff] [blame] | 656 | First version of kmod and its library, libkmod. |
| 657 | |
| 658 | In the libkmod it's currently possible to: |
| 659 | - List modules currently loaded |
| 660 | - Get information about loaded modules such as initstate, refcount, |
| 661 | holders, sections, address and size |
| 662 | - Lookup modules by alias, module name or path |
| 663 | - Insert modules: options from configuration and extra options can be |
| 664 | passed, but flags are not implemented, yet |
| 665 | - Remove modules |
| 666 | - Filter list of modules using blacklist |
| 667 | - For each module, get the its list of options and install/remove |
| 668 | commands |
| 669 | - Indexes can be loaded on startup to speedup lookups later |
| 670 | |
| 671 | Tools provided with the same set of options as in module-init-tools: |
| 672 | - kmod-lsmod |
| 673 | - kmod-insmod |
| 674 | - kmod-rmmod |
| 675 | - kmod-modprobe, with some functionality still missing (use of softdep, |
| 676 | dump configuration, show modversions) |