> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of Michal
> Kubiak
> Sent: Thursday, May 16, 2024 10:11 PM
> To: intel-wired-...@lists.osuosl.org
> Cc: Drewek, Wojciech <wojciech.dre...@intel.com>; net...@vger.kernel.org;
> Kubiak, Michal <michal.kub...@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkow...@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net] i40e: Fix XDP program unloading 
> while
> removing the driver
> 
> The commit 6533e558c650 ("i40e: Fix reset path while removing the driver")
> introduced a new PF state "__I40E_IN_REMOVE" to block modifying the XDP
> program while the driver is being removed.
> Unfortunately, such a change is useful only if the ".ndo_bpf()"
> callback was called out of the rmmod context because unloading the existing 
> XDP
> program is also a part of driver removing procedure.
> In other words, from the rmmod context the driver is expected to unload the 
> XDP
> program without reporting any errors. Otherwise, the kernel warning with 
> callstack
> is printed out to dmesg.
> 
> Example failing scenario:
>  1. Load the i40e driver.
>  2. Load the XDP program.
>  3. Unload the i40e driver (using "rmmod" command).
> 
> Fix this by improving checks in ".ndo_bpf()" to determine if that callback 
> was called
> from the removing context and if the kernel wants to unload the XDP program.
> Allow for unloading the XDP program in such a case.
> 
> Fixes: 6533e558c650 ("i40e: Fix reset path while removing the driver")
> Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
> Signed-off-by: Michal Kubiak <michal.kub...@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 

Tested-by: George Kuruvinakunnel <george.kuruvinakun...@intel.com>

Reply via email to