-
Features:
+=========
+
+* Add command for signing modules
+ - There is a script to sign modules in kernel tree, but we should be able to
+ sign modules by ourselves
+
+* Remove duplicate symbols in libkmod and tools
+ - Some functions were added both in libkmod and tools like depmod since they
+ couldn't be easily exported. Now we could be sharing there more easily
+ through libkmod-internal, or by creating a shared/ dir in which to put
+ these functions
+
+* Stop using NOFAIL() and fatal()
+
+* Protect index against OOM
+
+* Implement actions in kmod tool like 'insert', 'remove', 'info', etc
+
+* testsuite:
+ - when fake delete_module() succeeds, remove its entry from /sys/module
+
+* Stop using system() inside the library and use fork + exec instead
* 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
+* review API, maybe unify all of these getters:
+ - kmod_module_version_get_symbol()
+ - kmod_module_version_get_crc()
+ - kmod_module_symbol_get_symbol()
+ - kmod_module_symbol_get_crc()
+ - kmod_module_dependency_symbol_get_symbol()
+ - kmod_module_dependency_symbol_get_crc()
+ - kmod_module_versions_free_list()
+ - kmod_module_symbols_free_list()
+ - kmod_module_dependency_symbols_free_list()
* 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
+Things to be added/removed in kernel (check what is really needed):
+===================================================================
-* 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
+* list of currently loaded modules
+ - readdir() in /sys/modules: dir without a 'initstate' file means the
+ module is builtin.
-* Add coding-style.txt
+* kill /proc/modules ?
+ - Unlikely, given other tools might depend on it