mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-12-28 06:15:20 +07:00
kmod - Linux kernel module handling
af0ff2f22a
modprobe doesn't have support for handling dependency loop. That happens with poorly written softdeps that can introduce a loop. We must deal with them like it's being done in libkmod. However, we can break a dependency loop when the dependency was already inserted. This commit fixes this issue, that happens in the following scenario: dependencies: ------------- modA: modB: modA modC: modA config: softdep modA post: modB modC This creates the following loop: modA inserted ok handle post-soft-deps of modA -> modB modC modB handle dependencies of modB -> modA modA is already inserted handle post-soft-deps of modA -> modB modC And so on and so forth. Now we break the loop by checking if module is already inserted, before handling it. Thus this gives us: modA inserted ok handle post-soft-deps of modA -> modB modC modB handle dependencies of modB -> modA modA is already inserted inserted ok modC handle dependencies of modC -> modA modA is already inserted inserted ok |
||
---|---|---|
libkmod | ||
m4 | ||
test | ||
tools | ||
.gitignore | ||
autogen.sh | ||
CODING-STYLE | ||
configure.ac | ||
COPYING | ||
Makefile.am | ||
NEWS | ||
README | ||
TODO |
kmod - Linux kernel module handling OVERVIEW ======== kmod is a set of tools to handle common tasks with Linux kernel modules like insert, remove, list, check properties, resolve dependencies and aliases. These tools are designed on top of libkmod, a library that is shipped with kmod. See libkmod/README for more details on this library and how to use it. The aim is to be compatible with tools, configurations and indexes from module-init-tools project. Compilation and installation ============================ In order to compiler the source code you need following software packages: - GCC compiler - GNU C library Optional dependencies: - ZLIB library - LZMA library Typical configuration: ./configure CFLAGS="-g -O2" --prefix=/usr \ --sysconfdir=/etc --libdir=/usr/lib Configure automatically searches for all required components and packages. To compile and install run: make && make install Information =========== Mailing list: linux-modules@vger.kernel.org Repository: git://git.profusion.mobi/