]> git.ipfire.org Git - thirdparty/kmod.git/blobdiff - TODO
depmod: Ignore PowerPC64 ABIv2 .TOC. symbol
[thirdparty/kmod.git] / TODO
diff --git a/TODO b/TODO
index cbc54401e16569c92c5eac1de6733364b49af89a..537e7e13752f48695b07ccceb4512ad5c7e8fcee 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,31 +1,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().
+* 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
 
-* 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.
+* Stop using NOFAIL() and fatal()
+
+* Protect index against OOM
 
-* create test-mock library to be LD_PRELOAD'ed before running the binaries
-  so we're able to create unit tests
+* Implement actions in kmod tool like 'insert', 'remove', 'info', etc
 
-* Add functions to dump configuration
+* testsuite:
+   - when fake delete_module() succeeds, remove its entry from /sys/module
+   - improve coverage (use --enable-coverage to check the current state)
 
-* Add functions list all modules known by modules.dep
+* Stop using system() inside the library and use fork + exec instead
 
-* provide 1:1 compatibility with module-init-tools's modprobe
-   - dump configuration
+* 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().
 
-* provide depmod:
-   - add missing libkmod-elf.c functions:
-     - fetch_tables()
-     - deref_sym() (used by fetch_tables)
-   - add index writing functions to kmod-depmod.c
-   - 1:1 compatible kmod-depmod.c
+* config: implement the config handling in shared/ and use it in both depmod
+and libkmod
 
-* 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()
@@ -36,39 +35,22 @@ Features:
    - kmod_module_symbols_free_list()
    - kmod_module_dependency_symbols_free_list()
 
-* 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
-
-Known Bugs:
-===========
-
-
-Notes for future development:
-=============================
-
-* Kill support for /etc/modprobe.conf
+* 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.
+  Another possibility is to drop the mmap implementation relying on VFS to have
+  the pages cached. This would simplify the interface exported by libkmod.
+  Measure performance before deciding.
 
-* Kill support for map files
+* depmod:
+   - join functions for text/binary outputs
+   - use new O_TMPFILE for tmp file creation
 
-Things to be added removed in kernel (check what is really needed):
+Things to be added/removed in kernel (check what is really needed):
 ===================================================================
 
 * list of currently loaded modules
-
-* module's size should be available under /sys
+       - 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