netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset
@ 2025-01-23  8:15 Grzegorz Nitka
  2025-01-31 10:12 ` Simon Horman
  2025-02-26  6:03 ` [Intel-wired-lan] " Rinitha, SX
  0 siblings, 2 replies; 3+ messages in thread
From: Grzegorz Nitka @ 2025-01-23  8:15 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Grzegorz Nitka, Michal Swiatkowski

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: 28bf26724fdb ("ice: Implement aRFS")
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_arfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_arfs.c b/drivers/net/ethernet/intel/ice/ice_arfs.c
index 7cee365cc7d1..405ddd17de1b 100644
--- a/drivers/net/ethernet/intel/ice/ice_arfs.c
+++ b/drivers/net/ethernet/intel/ice/ice_arfs.c
@@ -511,7 +511,7 @@ void ice_init_arfs(struct ice_vsi *vsi)
 	struct hlist_head *arfs_fltr_list;
 	unsigned int i;
 
-	if (!vsi || vsi->type != ICE_VSI_PF)
+	if (!vsi || vsi->type != ICE_VSI_PF || ice_is_arfs_active(vsi))
 		return;
 
 	arfs_fltr_list = kcalloc(ICE_MAX_ARFS_LIST, sizeof(*arfs_fltr_list),

base-commit: 3ef16bb459c1a3af2c071cb5651877a47cd03295
-- 
2.39.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset
  2025-01-23  8:15 [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset Grzegorz Nitka
@ 2025-01-31 10:12 ` Simon Horman
  2025-02-26  6:03 ` [Intel-wired-lan] " Rinitha, SX
  1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2025-01-31 10:12 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: intel-wired-lan, netdev, Michal Swiatkowski

On Thu, Jan 23, 2025 at 09:15:39AM +0100, Grzegorz Nitka wrote:
> 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: 28bf26724fdb ("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>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [Intel-wired-lan] [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset
  2025-01-23  8:15 [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset Grzegorz Nitka
  2025-01-31 10:12 ` Simon Horman
@ 2025-02-26  6:03 ` Rinitha, SX
  1 sibling, 0 replies; 3+ messages in thread
From: Rinitha, SX @ 2025-02-26  6:03 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan@lists.osuosl.org
  Cc: netdev@vger.kernel.org, Michal Swiatkowski

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: 23 January 2025 13:46
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset
>
> 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: 28bf26724fdb ("ice: Implement aRFS")
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_arfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-02-26  6:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-23  8:15 [PATCH iwl-net v1] ice: fix memory leak in aRFS after reset Grzegorz Nitka
2025-01-31 10:12 ` Simon Horman
2025-02-26  6:03 ` [Intel-wired-lan] " Rinitha, SX

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).