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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Nov 2023 08:35:26 +0000 (09:35 +0100)
[ Upstream commit 8c0b48e01daba5ca58f939a8425855d3f4f2ed14 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index 96fa1c420f910b696f8725eca647a06f5b36a819..ceff537d9d22dcb863c0612f188f4b4a2baebf54 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: