• Takeshi Misawa's avatar
    tracing: Fix memory leak in tracing_err_log_open() · d122ed62
    Takeshi Misawa authored
    When tracing_err_log_open() calls seq_open(), allocated memory is not freed.
    
    kmemleak report:
    
    unreferenced object 0xffff92c0781d1100 (size 128):
      comm "tail", pid 15116, jiffies 4295163855 (age 22.704s)
      hex dump (first 32 bytes):
        00 f0 08 e5 c0 92 ff ff 00 10 00 00 00 00 00 00  ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<000000000d0687d5>] kmem_cache_alloc+0x11f/0x1e0
        [<000000003e3039a8>] seq_open+0x2f/0x90
        [<000000008dd36b7d>] tracing_err_log_open+0x67/0x140
        [<000000005a431ae2>] do_dentry_open+0x1df/0x3a0
        [<00000000a2910603>] vfs_open+0x2f/0x40
        [<0000000038b0a383>] path_openat+0x2e8/0x1690
        [<00000000fe025bda>] do_filp_open+0x9b/0x110
        [<00000000483a5091>] do_sys_open+0x1ba/0x260
        [<00000000c558b5fd>] __x64_sys_openat+0x20/0x30
        [<000000006881ec07>] do_syscall_64+0x5a/0x130
        [<00000000571c2e94>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fix this by calling seq_release() in tracing_err_log_fops.release().
    
    Link: http://lkml.kernel.org/r/20190628105640.GA1863@DESKTOP
    
    Fixes: 8a062902 ("tracing: Add tracing error log")
    Reviewed-by: default avatarTom Zanussi <zanussi@kernel.org>
    Signed-off-by: default avatarTakeshi Misawa <jeliantsurux@gmail.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    d122ed62
trace.c 222 KB