blob: 29ba7b7d9c4250e25bcde9149b32862a91a93bff [file] [log] [blame]
Lucas De Marchibf89f762011-12-01 18:23:47 -02001Features:
Lucas De Marchi5e690c52011-12-16 02:02:58 -02002=========
Lucas De Marchibf89f762011-12-01 18:23:47 -02003
Lucas De Marchi45f38e82015-01-26 23:31:04 -02004* Improve module-playground to contain the actual code from modules in the
5 testsuite
6
Lucas De Marchie975fd32013-04-30 12:34:23 -03007* Add command for signing modules
8 - There is a script to sign modules in kernel tree, but we should be able to
9 sign modules by ourselves
10
11* Stop using NOFAIL() and fatal()
12
Lucas De Marchi681bf892013-04-23 21:21:00 -030013* Protect index against OOM
14
Lucas De Marchi46939ec2013-04-09 20:20:38 -030015* Implement actions in kmod tool like 'insert', 'remove', 'info', etc
16
Lucas De Marchi80e54cb2012-02-22 13:07:13 -020017* testsuite:
Lucas De Marchi80e54cb2012-02-22 13:07:13 -020018 - when fake delete_module() succeeds, remove its entry from /sys/module
Lucas De Marchi895aa132015-01-14 11:10:53 -020019 - improve coverage (use --enable-coverage to check the current state)
Lucas De Marchibf89f762011-12-01 18:23:47 -020020
Lucas De Marchi46939ec2013-04-09 20:20:38 -030021* Stop using system() inside the library and use fork + exec instead
22
23* config: configs that do not need to be matched by fnmatch() could be using a
24 vector instead of a list. This way we could search in it by calling
25 bsearch().
26
Lucas De Marchi895aa132015-01-14 11:10:53 -020027* config: implement the config handling in shared/ and use it in both depmod
28and libkmod
29
Lucas De Marchic8c956b2012-06-11 12:00:19 -030030* review API, maybe unify all of these getters:
Gustavo Sverzut Barbieri674f8592011-12-20 11:54:53 -020031 - kmod_module_version_get_symbol()
32 - kmod_module_version_get_crc()
33 - kmod_module_symbol_get_symbol()
34 - kmod_module_symbol_get_crc()
35 - kmod_module_dependency_symbol_get_symbol()
36 - kmod_module_dependency_symbol_get_crc()
37 - kmod_module_versions_free_list()
38 - kmod_module_symbols_free_list()
Lucas De Marchi8836ff22012-11-05 02:04:44 -020039 - kmod_module_dependency_symbols_free_list()
Gustavo Sverzut Barbieri674f8592011-12-20 11:54:53 -020040
Lucas De Marchi80e54cb2012-02-22 13:07:13 -020041* index: drop the "open(), seek(), read()" implementation and use another one
42 with mmap(). When lookup() is called and the file is not mmaped, mmap it.
Lucas De Marchi895aa132015-01-14 11:10:53 -020043 Another possibility is to drop the mmap implementation relying on VFS to have
44 the pages cached. This would simplify the interface exported by libkmod.
45 Measure performance before deciding.
Lucas De Marchi5e690c52011-12-16 02:02:58 -020046
Lucas De Marchi709a4652015-02-19 01:00:05 -020047* depmod:
48 - join functions for text/binary outputs
49 - use new O_TMPFILE for tmp file creation
Lucas De Marchi8447b862012-08-30 14:10:47 -030050
Lucas De Marchi3af535c2011-12-27 17:32:55 -020051Things to be added/removed in kernel (check what is really needed):
Lucas De Marchi5e690c52011-12-16 02:02:58 -020052===================================================================
53
54* list of currently loaded modules
Lucas De Marchi80e54cb2012-02-22 13:07:13 -020055 - readdir() in /sys/modules: dir without a 'initstate' file means the
56 module is builtin.
Lucas De Marchi5e690c52011-12-16 02:02:58 -020057
Lucas De Marchi5e690c52011-12-16 02:02:58 -020058* kill /proc/modules ?
Lucas De Marchi758428a2012-01-16 15:56:17 -020059 - Unlikely, given other tools might depend on it