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

Ziwei Xiao
2024-05-10T00:19:13Z

On Wed, May 8, 2024 at 7:09 AM Markus Elfring <Markus.Elfring@web.de> 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