• Mark Rustad's avatar
    fcoe: Stop fc_rport_priv structure leak · d17efa00
    Mark Rustad authored
    When repeatedly doing rmmod and modprobe on the ixgbe
    driver while FCoE is active in a VN2VN configuration,
    memory leaks would be discovered by kmemleak with the
    following backtrace:
    
    unreferenced object 0xffff88003d076000 (size 1024):
      comm "kworker/0:3", pid 2998, jiffies 4295436448 (age 1015.332s)
      hex dump (first 32 bytes):
        48 8a fe 6f 00 88 ff ff 00 00 00 00 00 00 00 00  H..o............
        01 00 00 00 02 00 00 00 7b ac 87 21 1b 00 00 10  ........{..!....
      backtrace:
        [<ffffffff814b308b>] kmemleak_alloc+0x5b/0xc0
        [<ffffffff8115c6e8>] __kmalloc+0xd8/0x1b0
        [<ffffffffa0216638>] fc_rport_create+0x48/0x1f0 [libfc]
        [<ffffffffa023cd86>] fcoe_ctlr_vn_add.isra.10+0x56/0x1a0 [libfcoe]
        [<ffffffffa023f440>] fcoe_ctlr_vn_recv+0x8b0/0xab0 [libfcoe]
        [<ffffffffa023fb06>] fcoe_ctlr_recv_work+0x4c6/0xf60 [libfcoe]
        [<ffffffff81067404>] process_one_work+0x1e4/0x4d0
        [<ffffffff81068def>] worker_thread+0x10f/0x380
        [<ffffffff8107019a>] kthread+0xea/0xf0
        [<ffffffff814d32ec>] ret_from_fork+0x7c/0xb0
        [<ffffffffffffffff>] 0xffffffffffffffff
    
    This patch stops the leak of the fc_rport_priv structure.
    Signed-off-by: default avatarMark Rustad <mark.d.rustad@intel.com>
    Tested-by: default avatarJack Morgan <jack.morgan@intel.com>
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    d17efa00
fcoe_ctlr.c 78.6 KB