usage of cleanup attributes is discouraged in net [1], achieve cleanup
using goto

Suggested-by: Simon Horman <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
Closes: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Ally Heev <[email protected]>

[1] 
https://docs.kernel.org/process/maintainer-netdev.html#using-device-managed-and-cleanup-h-constructs

Signed-off-by: Ally Heev <[email protected]>
---
 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..dd62f5f14d60401d6a24cb9f86664425db1532d0
 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

Reply via email to