kmod - Linux kernel module handling
Go to file
Lucas De Marchi af0ff2f22a modprobe: break dependency loop by checking if module is loaded
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
2012-01-11 18:29:55 -02:00
libkmod config: deprecate 'include' and 'config' commands 2012-01-11 00:29:34 -02:00
m4 doc: add gtk-doc to generate documentation 2012-01-09 05:28:57 -02:00
test Add test to check kmod_validate_resources 2012-01-01 06:18:16 -02:00
tools modprobe: break dependency loop by checking if module is loaded 2012-01-11 18:29:55 -02:00
.gitignore gitignore: ignore dist files 2011-12-21 11:44:25 -02:00
autogen.sh autogen.sh: configure with 3-clicks + paste 2012-01-11 17:54:05 -02:00
CODING-STYLE Add file with details regarding coding style 2011-12-15 00:43:54 -02:00
configure.ac build-sys: allow building without having gtk-doc installed 2012-01-10 15:31:58 -02:00
COPYING Change licenses 2011-12-12 18:24:35 -02:00
Makefile.am build-sys: fix build with zlib/xz after private lib 2012-01-10 16:22:59 -02:00
NEWS kmod 3 2012-01-05 08:16:28 -02:00
README README: add more information 2012-01-09 13:15:46 -02:00
TODO modprobe: check for EPERM on insertion 2012-01-10 22:33:05 -05:00

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/