Re: [PATCH net-next 5/5] gve: Add flow steering ethtool support

From: Ziwei Xiao
Date: Thu May 09 2024 - 20:36:20 EST


On Wed, May 8, 2024 at 7:09 AM Markus Elfring <Markus.Elfring@xxxxxx> wrote:
>
>
> > +++ b/drivers/net/ethernet/google/gve/gve_ethtool.c
>
> > +static int gve_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd, u32 *rule_locs)
> > +{
> > + struct gve_priv *priv = netdev_priv(netdev);
> > + int err = 0;
> > +
> > + dev_hold(netdev);
> > + rtnl_unlock();
>
> > +out:
> > + rtnl_lock();
> > + dev_put(netdev);
> > + return err;
> > +}
>
>
> How do you think about to increase the application of scope-based resource management
> at such source code places?
>
Is the suggestion to combine dev_hold(netdev) together with
rtnl_unlock()? If so, I think there might be different usages for
using rtnl_unlock. For example, some drivers will call rtnl_unlock
after dev_close(netdev). Please correct me if I'm wrong. Thank you!

> Regards,
> Markus