RE: [Intel-wired-lan] [PATCH net v2] i40e: Fix adding unsupported cloud filters

From: Romanowski, Rafal
Date: Thu Nov 16 2023 - 08:42:11 EST


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Ivan Vecera
> Sent: Sunday, November 5, 2023 5:46 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: Drewek, Wojciech <wojciech.drewek@xxxxxxxxx>; intel-wired-
> lan@xxxxxxxxxxxxxxxx; Brandeburg, Jesse <jesse.brandeburg@xxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; Eric Dumazet <edumazet@xxxxxxxxxx>; Nguyen,
> Anthony L <anthony.l.nguyen@xxxxxxxxx>; Simon Horman
> <horms@xxxxxxxxxx>; Keller, Jacob E <jacob.e.keller@xxxxxxxxx>; Jakub Kicinski
> <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net v2] i40e: Fix adding unsupported cloud
> filters
>
> If a VF tries to add unsupported cloud filter through virchnl then
> i40e_add_del_cloud_filter(_big_buf) returns -ENOTSUPP but this error code is
> stored in 'ret' instead of 'aq_ret' that is used as error code sent back to VF. In
> this scenario where one of the mentioned functions fails the value of 'aq_ret'
> is zero so the VF will incorrectly receive a 'success'.
>
> Use 'aq_ret' to store return value and remove 'ret' local variable. Additionally
> fix the issue when filter allocation fails, in this case no notification is sent back
> to the VF.
>
> Fixes: e284fc280473be ("i40e: Add and delete cloud filter")
> Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> ---
> .../net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> index 08d7edccfb8ddb..3f99eb19824527 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> @@ -3844,7 +3844,7 @@ static int i40e_vc_add_cloud_filter(struct i40e_vf


Tested-by: Rafal Romanowski <rafal.romanowski@xxxxxxxxx>