lkml.org 
[lkml]   [2019]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 028/243] cxgb4vf: fix memleak in mac_hlist initialization
    Date
    From: Arjun Vynipadath <arjun@chelsio.com>

    [ Upstream commit 24357e06ba511ad874d664d39475dbb01c1ca450 ]

    mac_hlist was initialized during adapter_up, which will be called
    every time a vf device is first brought up, or every time when device
    is brought up again after bringing all devices down. This means our
    state of previous list is lost, causing a memleak if entries are
    present in the list. To fix that, move list init to the condition
    that performs initial one time adapter setup.

    Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
    Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
    index ff84791a0ff85..972dc7bd721d9 100644
    --- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
    +++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
    @@ -722,6 +722,10 @@ static int adapter_up(struct adapter *adapter)

    if (adapter->flags & USING_MSIX)
    name_msix_vecs(adapter);
    +
    + /* Initialize hash mac addr list*/
    + INIT_LIST_HEAD(&adapter->mac_hlist);
    +
    adapter->flags |= FULL_INIT_DONE;
    }

    @@ -747,8 +751,6 @@ static int adapter_up(struct adapter *adapter)
    enable_rx(adapter);
    t4vf_sge_start(adapter);

    - /* Initialize hash mac addr list*/
    - INIT_LIST_HEAD(&adapter->mac_hlist);
    return 0;
    }

    --
    2.20.1


    \
     
     \ /
      Last update: 2019-12-11 16:24    [W:2.851 / U:1.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site