Re: [RFC PATCH v2 net-next 07/16] net: dsa: sync ageing time when joining the bridge

From: Vladimir Oltean
Date: Sat Mar 20 2021 - 07:13:35 EST


On Fri, Mar 19, 2021 at 03:13:03PM -0700, Florian Fainelli wrote:
> > diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
> > index 86b5e05d3f21..3dafb6143cff 100644
> > --- a/net/bridge/br_stp.c
> > +++ b/net/bridge/br_stp.c
> > @@ -639,6 +639,19 @@ int br_set_ageing_time(struct net_bridge *br, clock_t ageing_time)
> > return 0;
> > }
> >
> > +clock_t br_get_ageing_time(struct net_device *br_dev)
> > +{
> > + struct net_bridge *br;
> > +
> > + if (!netif_is_bridge_master(br_dev))
> > + return 0;
> > +
> > + br = netdev_priv(br_dev);
> > +
> > + return jiffies_to_clock_t(br->ageing_time);
>
> Don't you want an ASSERT_RTNL() in this function as well?

Hmm, I'm not sure. I don't think I'm accessing anything that is under
the protection of the rtnl_mutex. If anything, the ageing time is
protected by the "bridge lock", but I don't think there's much of an
issue if I read an unsigned int while not holding it.