When module load failed after memory for codetag sections ready,
codetag section memory was not properly released. This
causes memory leak, and if next module load happens to got the
same module address, codetag may pick the uninitialized section
when manipulating tags during module unload, and lead to
"unable to handle page fault" BUG.

Closes: https://lore.kernel.org/all/20250516131246.6244-1-00107...@163.com/
Signed-off-by: David Wang <00107...@163.com>
---
 kernel/module/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/module/main.c b/kernel/module/main.c
index a2859dc3eea6..5c6ab20240a6 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -2829,6 +2829,7 @@ static void module_deallocate(struct module *mod, struct 
load_info *info)
 {
        percpu_modfree(mod);
        module_arch_freeing_init(mod);
+       codetag_free_module_sections(mod);
 
        free_mod_mem(mod);
 }
-- 
2.39.2


Reply via email to