[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <wih8t80er8m.fsf@dev-r-vrt-156.mtr.labs.mlnx>
Date: Thu, 31 May 2018 01:03:05 +0300
From: Petr Machata <petrm@...lanox.com>
To: David Miller <davem@...emloft.net>
Cc: <bridge@...ts.linux-foundation.org>, <netdev@...r.kernel.org>,
<stephen@...workplumber.org>
Subject: Re: [PATCH net-next] net: bridge: Lock before br_fdb_find()
David Miller <davem@...emloft.net> writes:
> From: Petr Machata <petrm@...lanox.com>
> 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@...lanox.com>
>
> 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
Powered by blists - more mailing lists