• Vamshi K Sthambamkadi's avatar
    tracing: Fix memory leak in eprobe_register() · 6675880f
    Vamshi K Sthambamkadi authored
    kmemleak report:
    unreferenced object 0xffff900a70ec7ec0 (size 32):
      comm "ftracetest", pid 2770, jiffies 4295042510 (age 311.464s)
      hex dump (first 32 bytes):
        c8 31 23 45 0a 90 ff ff 40 85 c7 6e 0a 90 ff ff  .1#E....@..n....
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<000000009d3751fd>] kmem_cache_alloc_trace+0x2a2/0x440
        [<0000000088b8124b>] eprobe_register+0x1e3/0x350
        [<000000002a9a0517>] __ftrace_event_enable_disable+0x7c/0x240
        [<0000000019109321>] event_enable_write+0x93/0xe0
        [<000000007d85b320>] vfs_write+0xb9/0x260
        [<00000000b94c5e41>] ksys_write+0x67/0xe0
        [<000000005a08c81d>] __x64_sys_write+0x1a/0x20
        [<00000000240bf576>] do_syscall_64+0x3b/0xc0
        [<0000000043d5d9f6>] entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    unreferenced object 0xffff900a56bbf280 (size 128):
      comm "ftracetest", pid 2770, jiffies 4295042510 (age 311.464s)
      hex dump (first 32 bytes):
        ff ff ff ff ff ff ff ff 00 00 00 00 01 00 00 00  ................
        80 69 3b b2 ff ff ff ff 20 69 3b b2 ff ff ff ff  .i;..... i;.....
      backtrace:
        [<000000009d3751fd>] kmem_cache_alloc_trace+0x2a2/0x440
        [<00000000c4e90fad>] eprobe_register+0x1fc/0x350
        [<000000002a9a0517>] __ftrace_event_enable_disable+0x7c/0x240
        [<0000000019109321>] event_enable_write+0x93/0xe0
        [<000000007d85b320>] vfs_write+0xb9/0x260
        [<00000000b94c5e41>] ksys_write+0x67/0xe0
        [<000000005a08c81d>] __x64_sys_write+0x1a/0x20
        [<00000000240bf576>] do_syscall_64+0x3b/0xc0
        [<0000000043d5d9f6>] entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    In new_eprobe_trigger(), allocated edata and trigger variables are
    never freed.
    
    To fix, free memory in disable_eprobe().
    
    Link: https://lkml.kernel.org/r/20211008071802.GA2098@cosmos
    
    Fixes: 7491e2c4 ("tracing: Add a probe that attaches to trace events")
    Signed-off-by: default avatarVamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    6675880f
trace_eprobe.c 21.3 KB