summaryrefslogtreecommitdiff
path: root/TODO
blob: 50e7483756dfb8314798b4ed3881daca8b612371 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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().

* 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.

* 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: dir without a 'initstate' file means the
	  module is builtin.

* kill /proc/modules ?
	- Unlikely, given other tools might depend on it