~registry/kmod/master

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Features:

* config: configs that do not need to be matched by fnmatch() could be using a
  vector instead of a list. This way we could search in it by calling
  bsearch().

* config: load on demand

* index: drop the "open(), seek(), read()" implementation and use another one
  with mmap(). When lookup() is called and the file is not mmaped, mmap it.

* insmod and rmmod with dependency handling. Maybe this should be done by the
  binary, and it's sufficient to return only the lists from lookups.
  ^-- investigate the best API

* create test-mock library to be LD_PRELOAD'ed before running the binaries
  so we're able to create unit tests

* provide ELF manipulation to implement modinfo

* provide 1:1 compatibility with module-init-tools's modprobe, missing:
   - parse options from kernel command line (modname.opt=val)
   - provide softdeps
   - show modversions (needs elf manipulation)
   - show config (list all known options, install, remove, softdep...)
   - show list (lists all modules known by modules.dep)
   - return install/remove commands for non-modules:
         install nonexistentmodule somecommand
     modprobe nonexistentmodule -> runs somecommand