sst-linux/drivers/net/ethernet/intel
Grzegorz Nitka fcbacc47d1 ice: fix memory leak in aRFS after reset
[ Upstream commit 23d97f18901ef5e4e264e3b1777fe65c760186b5 ]

Fix aRFS (accelerated Receive Flow Steering) structures memory leak by
adding a checker to verify if aRFS memory is already allocated while
configuring VSI. aRFS objects are allocated in two cases:
- as part of VSI initialization (at probe), and
- as part of reset handling

However, VSI reconfiguration executed during reset involves memory
allocation one more time, without prior releasing already allocated
resources. This led to the memory leak with the following signature:

[root@os-delivery ~]# cat /sys/kernel/debug/kmemleak
unreferenced object 0xff3c1ca7252e6000 (size 8192):
  comm "kworker/0:0", pid 8, jiffies 4296833052
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace (crc 0):
    [<ffffffff991ec485>] __kmalloc_cache_noprof+0x275/0x340
    [<ffffffffc0a6e06a>] ice_init_arfs+0x3a/0xe0 [ice]
    [<ffffffffc09f1027>] ice_vsi_cfg_def+0x607/0x850 [ice]
    [<ffffffffc09f244b>] ice_vsi_setup+0x5b/0x130 [ice]
    [<ffffffffc09c2131>] ice_init+0x1c1/0x460 [ice]
    [<ffffffffc09c64af>] ice_probe+0x2af/0x520 [ice]
    [<ffffffff994fbcd3>] local_pci_probe+0x43/0xa0
    [<ffffffff98f07103>] work_for_cpu_fn+0x13/0x20
    [<ffffffff98f0b6d9>] process_one_work+0x179/0x390
    [<ffffffff98f0c1e9>] worker_thread+0x239/0x340
    [<ffffffff98f14abc>] kthread+0xcc/0x100
    [<ffffffff98e45a6d>] ret_from_fork+0x2d/0x50
    [<ffffffff98e083ba>] ret_from_fork_asm+0x1a/0x30
    ...

Fixes: 28bf26724f ("ice: Implement aRFS")
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Rinitha S <sx.rinitha@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>
2025-03-28 21:58:48 +01:00
..
e1000
e1000e e1000e: Fix S0ix residency on corporate systems 2024-07-11 12:47:11 +02:00
fm10k
i40e i40e: fix race condition by adding filter's intermediate sync state 2024-11-14 13:15:11 +01:00
iavf iavf: allow changing VLAN state without calling PF 2025-02-21 13:49:22 +01:00
ice ice: fix memory leak in aRFS after reset 2025-03-28 21:58:48 +01:00
igb igb: Fix potential invalid memory access in igb_init_module() 2024-12-14 19:54:22 +01:00
igbvf
igc igc: Unlock on error in igc_io_resume() 2024-09-12 11:10:21 +02:00
ixgb
ixgbe ixgbe: downgrade logging of unsupported VF API version to debug 2024-12-14 19:54:22 +01:00
ixgbevf ixgbevf: stop attempting IPSEC offload on Mailbox API 1.5 2024-12-14 19:54:22 +01:00
e100.c
Kconfig
Makefile