lkml.org 
[lkml]   [2022]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 029/146] ice: Fix memory leak in ice_get_orom_civd_data()
    Date
    From: Jianglei Nie <niejianglei2021@163.com>

    [ Upstream commit 7c8881b77908a51814a050da408c89f1a25b7fb7 ]

    A memory chunk was allocated for orom_data in ice_get_orom_civd_data()
    by vzmalloc(). But when ice_read_flash_module() fails, the allocated
    memory is not freed, which will lead to a memory leak.

    We can fix it by freeing the orom_data when ce_read_flash_module() fails.

    Fixes: af18d8866c80 ("ice: reduce time to read Option ROM CIVD data")
    Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
    Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/intel/ice/ice_nvm.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/net/ethernet/intel/ice/ice_nvm.c b/drivers/net/ethernet/intel/ice/ice_nvm.c
    index 4eb0599714f4..13cdb5ea594d 100644
    --- a/drivers/net/ethernet/intel/ice/ice_nvm.c
    +++ b/drivers/net/ethernet/intel/ice/ice_nvm.c
    @@ -641,6 +641,7 @@ ice_get_orom_civd_data(struct ice_hw *hw, enum ice_bank_select bank,
    status = ice_read_flash_module(hw, bank, ICE_SR_1ST_OROM_BANK_PTR, 0,
    orom_data, hw->flash.banks.orom_size);
    if (status) {
    + vfree(orom_data);
    ice_debug(hw, ICE_DBG_NVM, "Unable to read Option ROM data\n");
    return status;
    }
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-04-26 11:25    [W:2.274 / U:0.292 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site