[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <IA1PR11MB6241F0827F1A7D50469CC4068B74A@IA1PR11MB6241.namprd11.prod.outlook.com>
Date: Thu, 12 Jun 2025 04:52:09 +0000
From: "Rinitha, SX" <sx.rinitha@...el.com>
To: "Nitka, Grzegorz" <grzegorz.nitka@...el.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Nguyen, Anthony L"
<anthony.l.nguyen@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>
Subject: RE: [Intel-wired-lan] [PATCH iwl-net v2] ice: fix eswitch code memory
leak in reset scenario
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Grzegorz Nitka
> Sent: 16 May 2025 18:39
> To: intel-wired-lan@...ts.osuosl.org
> Cc: netdev@...r.kernel.org; Nguyen, Anthony L <anthony.l.nguyen@...el.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@...el.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2] ice: fix eswitch code memory leak in reset scenario
>
> Add simple eswitch mode checker in attaching VF procedure and allocate required port representor memory structures only in switchdev mode.
> The reset flows triggers VF (if present) detach/attach procedure.
> It might involve VF port representor(s) re-creation if the device is configured is switchdev mode (not legacy one).
> The memory was blindly allocated in current implementation, regardless of the mode and not freed if in legacy mode.
>
> Kmemeleak trace:
> unreferenced object (percpu) 0x7e3bce5b888458 (size 40):
> comm "bash", pid 1784, jiffies 4295743894
> hex dump (first 32 bytes on cpu 45):
> 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):
> pcpu_alloc_noprof+0x4c4/0x7c0
> ice_repr_create+0x66/0x130 [ice]
> ice_repr_create_vf+0x22/0x70 [ice]
> ice_eswitch_attach_vf+0x1b/0xa0 [ice]
> ice_reset_all_vfs+0x1dd/0x2f0 [ice]
> ice_pci_err_resume+0x3b/0xb0 [ice]
> pci_reset_function+0x8f/0x120
> reset_store+0x56/0xa0
> kernfs_fop_write_iter+0x120/0x1b0
> vfs_write+0x31c/0x430
> ksys_write+0x61/0xd0
> do_syscall_64+0x5b/0x180
> entry_SYSCALL_64_after_hwframe+0x76/0x7e
>
> Testing hints (ethX is PF netdev):
> - create at least one VF
> echo 1 > /sys/class/net/ethX/device/sriov_numvfs
> - trigger the reset
> echo 1 > /sys/class/net/ethX/device/reset
>
> Fixes: 415db8399d06 ("ice: make representor code generic")
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@...el.com>
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> ---
>
> v1->v2: rebase, adding netdev mailing list
>
> ---
> drivers/net/ethernet/intel/ice/ice_eswitch.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
Tested-by: Rinitha S <sx.rinitha@...el.com> (A Contingent worker at Intel)
Powered by blists - more mailing lists