]> git.ipfire.org Git - thirdparty/kmod.git/blobdiff - TODO
Free realnames if kmod_lookup_alias_from_alias_bin() fails
[thirdparty/kmod.git] / TODO
diff --git a/TODO b/TODO
index d1d553af302c7597fe119dd6e5bfc8c32e190f04..50e7483756dfb8314798b4ed3881daca8b612371 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,26 @@
 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
+
+* 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().
 
-* 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.
-
-* create test-mock library to be LD_PRELOAD'ed before running the binaries
-  so we're able to create unit tests
-
-* review API, maybe unify all of these setters:
+* review API, maybe unify all of these getters:
    - kmod_module_version_get_symbol()
    - kmod_module_version_get_crc()
    - kmod_module_symbol_get_symbol()
@@ -22,93 +31,19 @@ Features:
    - kmod_module_symbols_free_list()
    - kmod_module_dependency_symbols_free_list()
 
-* unify code from modprobe and libkmod:
-   - remove kmod_module_probe_insert() and turn it into
-     kmod_module_probe_get_list(); this way modprobe can use it too
-
-* provide modules.archive, a cache file with all modules compressed
-  and a fast access. It's like a tar.gz, but with each entry
-  compressed as opposed to the whole tar compressed, easy to pick
-  individual entries, that is, more like .gz.tar. As zlib compression
-  does not store the uncompressed file size, this could provide
-  it. The file format should be something like:
-     MAGIC-ID
-     DIRECTORY-ENTRY-SIZE
-     DIRECTORY (hash-like format, points to file offset and size)
-     ENTRIES (each is a compressed module)
-  Helper binary to:
-     kmod-archive list
-     kmod-archive add path.ko
-     kmod-archive rm path.ko
-     kmod-archive get path.ko
-     kmod-archive exists path.ko
+* 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.
 
-Known Bugs:
-===========
+* Finish removal of "rmmod -w" when it's gone from kernel.
 
+* Deprecate not using KMOD_REMOVE_NOWAIT on libkmod.
 
 Things to be added/removed in kernel (check what is really needed):
 ===================================================================
 
 * list of currently loaded modules
-       - readdir() in /sys/modules: dirs without a 'initstate' file mean the
-         modules is builtin.
-
-* module's size should be available under /sys
-       - DONE in 3.3: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=cca3e707301862ca9b9327e6a732463982f8cd1b
+       - readdir() in /sys/modules: dir without a 'initstate' file means the
+         module is builtin.
 
 * kill /proc/modules ?
        - Unlikely, given other tools might depend on it
-
-Things that are different from module-init-tools on purpose (!TODO)
-===================================================================
-
-modprobe
---------
-
-* 'modprobe -l' was marked as deprecated and does not exist anymore
-
-* 'modprobe -t' is gone, together with 'modprobe -l'
-
-* there's and additional '--remove-dependencies' flags to kmod-modprobe so we
-  can remove modules depending on that one
-
-* kmod-modprobe doesn't parse configuration files whose name don't end on
-  '.alias'  or '.conf'. modprobe used to warn about these files.
-
-* kmod-modprobe doesn't parse 'config' and 'include' commands in configuration
-  files.
-
-* we don't use <module-dir>/modules.builtin{,.bin} indexes. Instead we rely on
-  module appearing on /sys/modules/* without a initstate file to determine if
-  it is builtin.
-
-* modprobe from m-i-t does not honour softdeps for install commands. E.g.:
-  config:
-
-        install bli "echo bli"
-       install bla "echo bla"
-       softdep bla pre: bli
-
-  With m-i-t, the output of 'modprobe --show-depends bla' will be:
-        install "echo bla"
-
-  While with kmod:
-        install "echo bli"
-        install "echo bla"
-
-* kmod doesn't dump the configuration as is in the config files. Instead it
-  dumps the configuration as it was parsed. Therefore, comments and file names
-  are not dumped, but on the good side we know what the exact configuration
-  kmod is using. We did this because if we only want to know the entire content
-  of configuration files, it's enough to use find(1) in modprobe.d directories
-
-depmod
-------
-
-* there's no 'depmod -m' option: legacy modules.*map files are gone
-
-lsmod
------
-
-* information is parsed from /sys instead of /proc/modules