• Alexander Aring's avatar
    fs: dlm: fix memory leak when fenced · 700ab1c3
    Alexander Aring authored
    I got some kmemleak report when a node was fenced. The user space tool
    dlm_controld will therefore run some rmdir() in dlm configfs which was
    triggering some memleaks. This patch stores the sps and cms attributes
    which stores some handling for subdirectories of the configfs cluster
    entry and free them if they get released as the parent directory gets
    freed.
    
    unreferenced object 0xffff88810d9e3e00 (size 192):
      comm "dlm_controld", pid 342, jiffies 4294698126 (age 55438.801s)
      hex dump (first 32 bytes):
        00 00 00 00 00 00 00 00 73 70 61 63 65 73 00 00  ........spaces..
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<00000000db8b640b>] make_cluster+0x5d/0x360
        [<000000006a571db4>] configfs_mkdir+0x274/0x730
        [<00000000b094501c>] vfs_mkdir+0x27e/0x340
        [<0000000058b0adaf>] do_mkdirat+0xff/0x1b0
        [<00000000d1ffd156>] do_syscall_64+0x40/0x80
        [<00000000ab1408c8>] entry_SYSCALL_64_after_hwframe+0x44/0xae
    unreferenced object 0xffff88810d9e3a00 (size 192):
      comm "dlm_controld", pid 342, jiffies 4294698126 (age 55438.801s)
      hex dump (first 32 bytes):
        00 00 00 00 00 00 00 00 63 6f 6d 6d 73 00 00 00  ........comms...
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<00000000a7ef6ad2>] make_cluster+0x82/0x360
        [<000000006a571db4>] configfs_mkdir+0x274/0x730
        [<00000000b094501c>] vfs_mkdir+0x27e/0x340
        [<0000000058b0adaf>] do_mkdirat+0xff/0x1b0
        [<00000000d1ffd156>] do_syscall_64+0x40/0x80
        [<00000000ab1408c8>] entry_SYSCALL_64_after_hwframe+0x44/0xae
    Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
    Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
    700ab1c3
config.c 23.2 KB