xref: /aosp_15_r20/external/kmod/TODO (revision cc4ad7da8cefe208cb129ac2aa9a357c7c72deb2)
1*cc4ad7daSAndroid Build Coastguard WorkerFeatures:
2*cc4ad7daSAndroid Build Coastguard Worker=========
3*cc4ad7daSAndroid Build Coastguard Worker
4*cc4ad7daSAndroid Build Coastguard Worker* Add command for signing modules
5*cc4ad7daSAndroid Build Coastguard Worker   - There is a script to sign modules in kernel tree, but we should be able to
6*cc4ad7daSAndroid Build Coastguard Worker   sign modules by ourselves
7*cc4ad7daSAndroid Build Coastguard Worker
8*cc4ad7daSAndroid Build Coastguard Worker* Stop using NOFAIL() and fatal()
9*cc4ad7daSAndroid Build Coastguard Worker
10*cc4ad7daSAndroid Build Coastguard Worker* Protect index against OOM
11*cc4ad7daSAndroid Build Coastguard Worker
12*cc4ad7daSAndroid Build Coastguard Worker* Implement actions in kmod tool like 'insert', 'remove', 'info', etc
13*cc4ad7daSAndroid Build Coastguard Worker
14*cc4ad7daSAndroid Build Coastguard Worker* testsuite:
15*cc4ad7daSAndroid Build Coastguard Worker   - when fake delete_module() succeeds, remove its entry from /sys/module
16*cc4ad7daSAndroid Build Coastguard Worker   - improve coverage (use --enable-coverage to check the current state)
17*cc4ad7daSAndroid Build Coastguard Worker
18*cc4ad7daSAndroid Build Coastguard Worker* Stop using system() inside the library and use fork + exec instead
19*cc4ad7daSAndroid Build Coastguard Worker
20*cc4ad7daSAndroid Build Coastguard Worker* config: configs that do not need to be matched by fnmatch() could be using a
21*cc4ad7daSAndroid Build Coastguard Worker  vector instead of a list. This way we could search in it by calling
22*cc4ad7daSAndroid Build Coastguard Worker  bsearch().
23*cc4ad7daSAndroid Build Coastguard Worker
24*cc4ad7daSAndroid Build Coastguard Worker* config: implement the config handling in shared/ and use it in both depmod
25*cc4ad7daSAndroid Build Coastguard Workerand libkmod
26*cc4ad7daSAndroid Build Coastguard Worker
27*cc4ad7daSAndroid Build Coastguard Worker* review API, maybe unify all of these getters:
28*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_version_get_symbol()
29*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_version_get_crc()
30*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_symbol_get_symbol()
31*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_symbol_get_crc()
32*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_dependency_symbol_get_symbol()
33*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_dependency_symbol_get_crc()
34*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_versions_free_list()
35*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_symbols_free_list()
36*cc4ad7daSAndroid Build Coastguard Worker   - kmod_module_dependency_symbols_free_list()
37*cc4ad7daSAndroid Build Coastguard Worker
38*cc4ad7daSAndroid Build Coastguard Worker* libkmod API breaking changes:
39*cc4ad7daSAndroid Build Coastguard Worker   - dedicated error value for all kmod_*_get_crc() functions. Currently there
40*cc4ad7daSAndroid Build Coastguard Worker     is no way for callers to distinguish between a valid CRC=0 and the error
41*cc4ad7daSAndroid Build Coastguard Worker     code 0.
42*cc4ad7daSAndroid Build Coastguard Worker
43*cc4ad7daSAndroid Build Coastguard Worker* index: drop the "open(), seek(), read()" implementation and use another one
44*cc4ad7daSAndroid Build Coastguard Worker  with mmap(). When lookup() is called and the file is not mmaped, mmap it.
45*cc4ad7daSAndroid Build Coastguard Worker  Another possibility is to drop the mmap implementation relying on VFS to have
46*cc4ad7daSAndroid Build Coastguard Worker  the pages cached. This would simplify the interface exported by libkmod.
47*cc4ad7daSAndroid Build Coastguard Worker  Measure performance before deciding.
48*cc4ad7daSAndroid Build Coastguard Worker
49*cc4ad7daSAndroid Build Coastguard Worker* depmod:
50*cc4ad7daSAndroid Build Coastguard Worker   - join functions for text/binary outputs
51*cc4ad7daSAndroid Build Coastguard Worker   - use new O_TMPFILE for tmp file creation
52*cc4ad7daSAndroid Build Coastguard Worker
53*cc4ad7daSAndroid Build Coastguard WorkerThings to be added/removed in kernel (check what is really needed):
54*cc4ad7daSAndroid Build Coastguard Worker===================================================================
55*cc4ad7daSAndroid Build Coastguard Worker
56*cc4ad7daSAndroid Build Coastguard Worker* list of currently loaded modules
57*cc4ad7daSAndroid Build Coastguard Worker	- readdir() in /sys/modules: dir without a 'initstate' file means the
58*cc4ad7daSAndroid Build Coastguard Worker	  module is builtin.
59*cc4ad7daSAndroid Build Coastguard Worker
60*cc4ad7daSAndroid Build Coastguard Worker* kill /proc/modules ?
61*cc4ad7daSAndroid Build Coastguard Worker	- Unlikely, given other tools might depend on it
62