summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJianglei Nie <niejianglei2021@163.com>2022-04-02 10:17:15 +0800
committerTony Nguyen <anthony.l.nguyen@intel.com>2022-04-14 08:31:01 -0700
commit7c8881b77908a51814a050da408c89f1a25b7fb7 (patch)
tree266fd6148ee81d7776f1ad1e93dbf6c24d235e01 /drivers
parentd201665147ae788b7cca9fab58a1826f64152034 (diff)
downloadlinux-stable-7c8881b77908a51814a050da408c89f1a25b7fb7.tar.gz
linux-stable-7c8881b77908a51814a050da408c89f1a25b7fb7.tar.bz2
linux-stable-7c8881b77908a51814a050da408c89f1a25b7fb7.zip
ice: Fix memory leak in ice_get_orom_civd_data()
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_nvm.c1
1 files changed, 1 insertions, 0 deletions
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;
}