Hi Luis, As per your suggestion [1], this is an attempt to refactor and split optional code out of core module support code into separate components. Unfortunately, nothing has been thoroughly tested yet. Please let me know your thoughts. Changes since v1 [2]: - Moved module version support code into a new file [1]: https://lore.kernel.org/lkml/YbEZ4HgSYQEPuRmS@xxxxxxxxxxxxxxxxxxxxxx/ [2]: https://lore.kernel.org/lkml/20211228213041.1356334-1-atomlin@xxxxxxxxxx/ Aaron Tomlin (13): module: Move all into module/ module: Simple refactor in preparation for split module: Move livepatch support to a separate file module: Move latched RB-tree support to a separate file module: Move arch strict rwx support to a separate file module: Move strict rwx support to a separate file module: Move extra signature support out of core code module: Move kmemleak support to a separate file module: Move kallsyms support into a separate file module: Move procfs support into a separate file module: Move sysfs support into a separate file module: Move kdb_modules list out of core code module: Move version support into a separate file include/linux/module.h | 76 +- kernel/Makefile | 4 +- kernel/debug/kdb/kdb_main.c | 5 + kernel/module-internal.h | 31 - kernel/module/Makefile | 17 + kernel/module/arch_strict_rwx.c | 44 + kernel/module/debug_kmemleak.c | 30 + kernel/module/internal.h | 169 ++ kernel/module/kallsyms.c | 506 +++++ kernel/module/livepatch.c | 75 + kernel/{module.c => module/main.c} | 1872 +---------------- kernel/module/procfs.c | 111 + .../signature.c} | 0 kernel/module/signing.c | 120 ++ kernel/module/strict_rwx.c | 83 + kernel/module/sysfs.c | 426 ++++ kernel/module/tree_lookup.c | 108 + kernel/module/version.c | 113 + kernel/module_signing.c | 45 - 19 files changed, 1968 insertions(+), 1867 deletions(-) delete mode 100644 kernel/module-internal.h create mode 100644 kernel/module/Makefile create mode 100644 kernel/module/arch_strict_rwx.c create mode 100644 kernel/module/debug_kmemleak.c create mode 100644 kernel/module/internal.h create mode 100644 kernel/module/kallsyms.c create mode 100644 kernel/module/livepatch.c rename kernel/{module.c => module/main.c} (63%) create mode 100644 kernel/module/procfs.c rename kernel/{module_signature.c => module/signature.c} (100%) create mode 100644 kernel/module/signing.c create mode 100644 kernel/module/strict_rwx.c create mode 100644 kernel/module/sysfs.c create mode 100644 kernel/module/tree_lookup.c create mode 100644 kernel/module/version.c delete mode 100644 kernel/module_signing.c -- 2.31.1