RE: [Intel-wired-lan] [PATCH RESEND RFT net-next 1/2] ice: remove __free usage in ice_flow
From: Loktionov, Aleksandr
Date: Mon Nov 24 2025 - 05:01:08 EST
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> Of Ally Heev
> Sent: Monday, November 24, 2025 8:41 AM
> To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn
> <andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric
> Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo
> Abeni <pabeni@xxxxxxxxxx>
> Cc: intel-wired-lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Ally Heev <allyheev@xxxxxxxxx>; Simon Horman
> <horms@xxxxxxxxxx>; Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH RESEND RFT net-next 1/2] ice: remove
> __free usage in ice_flow
>
> usage of cleanup attributes is discouraged in net [1], achieve cleanup
> using goto
>
> Suggested-by: Simon Horman <horms@xxxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Closes: https://lore.kernel.org/all/aPiG_F5EBQUjZqsl@stanley.mountain/
> Signed-off-by: Ally Heev <allyheev@xxxxxxxxx>
>
> [1] https://docs.kernel.org/process/maintainer-netdev.html#using-
> device-managed-and-cleanup-h-constructs
>
> Signed-off-by: Ally Heev <allyheev@xxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ice/ice_flow.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_flow.c
> b/drivers/net/ethernet/intel/ice/ice_flow.c
> index
> 6d5c939dc8a515c252cd2b77d155b69fa264ee92..dd62f5f14d60401d6a24cb9f8666
> 4425db1532d0 100644
> --- a/drivers/net/ethernet/intel/ice/ice_flow.c
> +++ b/drivers/net/ethernet/intel/ice/ice_flow.c
> @@ -1573,7 +1573,7 @@ ice_flow_set_parser_prof(struct ice_hw *hw, u16
> dest_vsi, u16 fdir_vsi,
> struct ice_parser_profile *prof, enum ice_block
> blk) {
> u64 id = find_first_bit(prof->ptypes, ICE_FLOW_PTYPE_MAX);
> - struct ice_flow_prof_params *params __free(kfree);
> + struct ice_flow_prof_params *params = NULL;
> u8 fv_words = hw->blk[blk].es.fvw;
> int status;
> int i, idx;
> @@ -1621,12 +1621,14 @@ ice_flow_set_parser_prof(struct ice_hw *hw,
> u16 dest_vsi, u16 fdir_vsi,
> params->attr, params->attr_cnt,
> params->es, params->mask, false, false);
> if (status)
> - return status;
> + goto out;
>
> status = ice_flow_assoc_fdir_prof(hw, blk, dest_vsi, fdir_vsi,
> id);
> if (status)
> ice_rem_prof(hw, blk, id);
>
> +out:
> + kfree(params);
> return status;
> }
>
>
> --
> 2.47.3
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>