On Thu, Mar 21, 2024 at 06:59:00PM +0100, Markus Elfring wrote:

…

> > +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> > @@ -941,11 +941,11 @@ static u64 ice_loopback_test(struct net_device 
> > *netdev)
> >     struct ice_netdev_priv *np = netdev_priv(netdev);
> >     struct ice_vsi *orig_vsi = np->vsi, *test_vsi;
> >     struct ice_pf *pf = orig_vsi->back;
> > +   u8 *tx_frame __free(kfree) = NULL;
> >     u8 broadcast[ETH_ALEN], ret = 0;
> >     int num_frames, valid_frames;
> >     struct ice_tx_ring *tx_ring;
> >     struct ice_rx_ring *rx_ring;
> > -   u8 *tx_frame __free(kfree);
> >     int i;
> >
> >     netdev_info(netdev, "loopback test\n");
> 
> How do you think about to reduce the scope for the affected local variable 
> instead
> with the help of a small script (like the following) for the semantic patch 
> language?
> 
> @movement@
> attribute name __free;
> @@
> -u8 *tx_frame __free(kfree);
>  int i;
>  ... when any
>  if (ice_fltr_add_mac(test_vsi, ...))
>  { ... }
> +
> +{
> +u8 *tx_frame __free(kfree) = NULL;
>  if (ice_lbtest_create_frame(pf, &tx_frame, ...))
>  { ... }
>  ... when any
> +}
> +
>  valid_frames = ice_lbtest_receive_frames(...);

I believe you don't understand what the scope of the above can be.

-- 
With Best Regards,
Andy Shevchenko


Reply via email to