[Devel] module: fix memory leak in free_module

Submitted by Stanislav Kinsburskiy on July 25, 2017, 1:54 p.m.

Details

Message ID 20170725135450.9134.86824.stgit@localhost.localdomain
State New
Series "module: fix memory leak in free_module"
Headers show

Commit Message

Stanislav Kinsburskiy July 25, 2017, 1:54 p.m.
Reported by kmemleak:

  comm "systemd-udevd", pid 436, jiffies 4294689313 (age 1166.192s)
  hex dump (first 32 bytes):
    00 01 00 00 00 00 ad de 00 02 00 00 00 00 ad de  ................
    80 c1 55 a0 ff ff ff ff 00 00 00 00 00 00 00 00  ..U.............
  backtrace:
    [<ffffffff8167886e>] kmemleak_alloc+0x4e/0xb0
    [<ffffffff811f29f9>] kmem_cache_alloc_trace+0xe9/0x260
    [<ffffffff8110e10e>] load_module+0x35e/0x1be0
    [<ffffffff8110fb36>] SyS_finit_module+0xa6/0xd0
    [<ffffffff81694a89>] system_call_fastpath+0x16/0x1b
    [<ffffffffffffffff>] 0xffffffffffffffff

Signed-off-by: Stanislav Kinsburskiy <skinsbursky@virtuozzo.com>
---
 kernel/module.c |    1 +
 1 file changed, 1 insertion(+)

Patch hide | download patch | download mbox

diff --git a/kernel/module.c b/kernel/module.c
index ebf89f4..27664bd1 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1986,6 +1986,7 @@  static void free_module(struct module *mod)
 	mod_ext = find_module_ext(mod);
 	list_del(&mod_ext->next);
 	mutex_unlock(&module_ext_mutex);
+	kfree(mod_ext);
 
 	/* This may be NULL, but that's OK */
 	unset_module_init_ro_nx(mod);