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