]> git.dujemihanovic.xyz Git - linux.git/commitdiff
igb: Fix potential memory leak in igb_add_ethtool_nfc_entry
authorMateusz Palczewski <mateusz.palczewski@intel.com>
Thu, 19 Oct 2023 20:40:35 +0000 (13:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Oct 2023 12:29:40 +0000 (13:29 +0100)
Add check for return of igb_update_ethtool_nfc_entry so that in case
of any potential errors the memory alocated for input will be freed.

Fixes: 0e71def25281 ("igb: add support of RX network flow classification")
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Tested-by: Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index 319ed601eaa1e9827e7fab48c6d13b01e2bedff1..4ee849985e2b8a7563c72026cabd818070795f6c 100644 (file)
@@ -2978,11 +2978,15 @@ static int igb_add_ethtool_nfc_entry(struct igb_adapter *adapter,
        if (err)
                goto err_out_w_lock;
 
-       igb_update_ethtool_nfc_entry(adapter, input, input->sw_idx);
+       err = igb_update_ethtool_nfc_entry(adapter, input, input->sw_idx);
+       if (err)
+               goto err_out_input_filter;
 
        spin_unlock(&adapter->nfc_lock);
        return 0;
 
+err_out_input_filter:
+       igb_erase_filter(adapter, input);
 err_out_w_lock:
        spin_unlock(&adapter->nfc_lock);
 err_out: