[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210425155207.29888-1-ap420073@gmail.com>
Date: Sun, 25 Apr 2021 15:52:05 +0000
From: Taehee Yoo <ap420073@...il.com>
To: davem@...emloft.net, kuba@...nel.org, dsahern@...nel.org,
yoshfuji@...ux-ipv6.org, netdev@...r.kernel.org,
j.vosburgh@...il.com, vfalico@...il.com, andy@...yhouse.net,
roopa@...dia.com, nikolay@...dia.com, ast@...nel.org,
andriin@...com, daniel@...earbox.net, weiwan@...gle.com,
cong.wang@...edance.com, bjorn@...nel.org,
herbert@...dor.apana.org.au, bridge@...ts.linux-foundation.org
Cc: ap420073@...il.com
Subject: [PATCH net 0/2] Subject: [PATCH net 0/2] net: fix lockdep false positive splat
This patchset is to fix lockdep false positive splat in multicast part of
the bridge.
When mdb or multicast config is changed, it acquires multicast_lock,
which is a per-interface(bridge) lock.
So, spin_lock_nested() should be used instead of spin_lock() because
interfaces can be recursive.
The spin_lock_nested() needs 'subclass' parameter.
The first patch adds a new helper function, which returns the nest_level
variable under RCU. The nest_level variable can be used as 'subclass'
parameter of spin_lock_nested().
The second patch fix lockdep false positive splat in the bridge multicast
part by using netdev_get_nest_level_rcu().
Taehee Yoo (2):
net: core: make bond_get_lowest_level_rcu() generic
net: bridge: fix lockdep multicast_lock false positive splat
drivers/net/bonding/bond_main.c | 45 +---------
include/linux/netdevice.h | 1 +
net/bridge/br_mdb.c | 12 +--
net/bridge/br_multicast.c | 146 ++++++++++++++++++++------------
net/bridge/br_multicast_eht.c | 18 ++--
net/bridge/br_private.h | 48 +++++++++++
net/core/dev.c | 44 ++++++++++
7 files changed, 204 insertions(+), 110 deletions(-)
--
2.17.1
Powered by blists - more mailing lists