net: bridge: mcast: Associate the seqcount with its protecting lock.
authorThomas Gleixner <tglx@linutronix.de>
Tue, 28 Sep 2021 14:10:49 +0000 (16:10 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 29 Sep 2021 00:30:36 +0000 (17:30 -0700)
commitf936bb42aeb94a069bec7c9e04100d199c372956
treef1468fba7231de108623a9cba04510c31020418d
parent9e28cfead2f8f5aba7df03c74c9ec645b5ffc5fd
net: bridge: mcast: Associate the seqcount with its protecting lock.

The sequence count bridge_mcast_querier::seq is protected by
net_bridge::multicast_lock but seqcount_init() does not associate the
seqcount with the lock. This leads to a warning on PREEMPT_RT because
preemption is still enabled.

Let seqcount_init() associate the seqcount with lock that protects the
write section. Remove lockdep_assert_held_once() because lockdep already checks
whether the associated lock is held.

Fixes: 67b746f94ff39 ("net: bridge: mcast: make sure querier port/address updates are consistent")
Reported-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Mike Galbraith <efault@gmx.de>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Link: https://lore.kernel.org/r/20210928141049.593833-1-bigeasy@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br_multicast.c
net/bridge/br_private.h