[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191210210203.GB1480973@t480s.localdomain>
Date: Tue, 10 Dec 2019 21:02:03 -0500
From: Vivien Didelot <vivien.didelot@...il.com>
To: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Roopa Prabhu <roopa@...ulusnetworks.com>,
netdev@...r.kernel.org, bridge@...ts.linux-foundation.org,
Stephen Hemminger <stephen@...workplumber.org>
Subject: Re: [PATCH net-next v2] net: bridge: add STP xstats
Hi Nikolay,
On Tue, 10 Dec 2019 23:45:13 +0200, Nikolay Aleksandrov <nikolay@...ulusnetworks.com> wrote:
> > + if (p) {
> > + nla = nla_reserve_64bit(skb, BRIDGE_XSTATS_STP,
> > + sizeof(p->stp_xstats),
> > + BRIDGE_XSTATS_PAD);
> > + if (!nla)
> > + goto nla_put_failure;
> > +
> > + memcpy(nla_data(nla), &p->stp_xstats, sizeof(p->stp_xstats));
>
> You need to take the STP lock here to get a proper snapshot of the values.
Good catch! I see a br->multicast_lock but no br->stp_lock. Is this what
you expect?
spin_lock_bh(&br->lock);
memcpy(nla_data(nla), &p->stp_xstats, sizeof(p->stp_xstats));
spin_unlock_bh(&br->lock);
Thanks,
Vivien
Powered by blists - more mailing lists