David Miller <davem@xxxxxxxxxxxxx> writes: > From: Petr Machata <petrm@xxxxxxxxxxxx> > Date: Mon, 28 May 2018 17:44:16 +0200 > >> Callers of br_fdb_find() need to hold the hash lock, which >> br_fdb_find_port() doesn't do. Add the missing lock/unlock >> pair. >> >> Signed-off-by: Petr Machata <petrm@xxxxxxxxxxxx> > > If all of the these uses of br_fdb_find_port() are safe, then it > should use the RCU fdb lookup variant. > > So I basically agree with Stephen that this locking doesn't make any > sense. > > The lock is needed when you are going to add or delete an FDB entry. > > Here we are doing a lookup and returning a device pointer via the FDB > entry found in the lookup. > > The RTNL assertion assures that the device returned won't disappear. > > If the device can disappear, the spinlock added by this patch doesn't > change that at all. OK, I'll take another look at this. Thanks, Petr