Skip to content
  • Jiri Slaby's avatar
    kcm: fix /proc memory leak · d19af0a7
    Jiri Slaby authored
    
    
    Every open of /proc/net/kcm leaks 16 bytes of memory as is reported by
    kmemleak:
    unreferenced object 0xffff88059c0e3458 (size 192):
      comm "cat", pid 1401, jiffies 4294935742 (age 310.720s)
      hex dump (first 32 bytes):
        28 45 71 96 05 88 ff ff 00 10 00 00 00 00 00 00  (Eq.............
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<ffffffff8156a2de>] kmem_cache_alloc_trace+0x16e/0x230
        [<ffffffff8162a479>] seq_open+0x79/0x1d0
        [<ffffffffa0578510>] kcm_seq_open+0x0/0x30 [kcm]
        [<ffffffff8162a479>] seq_open+0x79/0x1d0
        [<ffffffff8162a8cf>] __seq_open_private+0x2f/0xa0
        [<ffffffff81712548>] seq_open_net+0x38/0xa0
    ...
    
    It is caused by a missing free in the ->release path. So fix it by
    providing seq_release_net as the ->release method.
    
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Fixes: cd6e111b
    
     (kcm: Add statistics and proc interfaces)
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Tom Herbert <tom@herbertland.com>
    Cc: netdev@vger.kernel.org
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d19af0a7