Revision 963ad94853000ab100f5ff19eea80095660d41b4 authored by Nikolay Aleksandrov on 22 July 2015, 11:03:40 UTC, committed by David S. Miller on 26 July 2015, 23:27:22 UTC
Since slave_changelink support was added there have been a few race
conditions when using br_setport() since some of the port functions it
uses require the bridge lock. It is very easy to trigger a lockup due to
some internal spin_lock() usage without bh disabled, also it's possible to
get the bridge into an inconsistent state.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fixes: 3ac636b8591c ("bridge: implement rtnl_link_ops->slave_changelink")
Reviewed-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4851643
History
File Mode Size
.gitignore -rw-r--r-- 8 bytes
Kconfig -rw-r--r-- 6.9 KB
Makefile -rw-r--r-- 905 bytes
ap.c -rw-r--r-- 1.1 KB
chan.c -rw-r--r-- 23.7 KB
core.c -rw-r--r-- 30.2 KB
core.h -rw-r--r-- 15.3 KB
db.txt -rw-r--r-- 759 bytes
debugfs.c -rw-r--r-- 3.0 KB
debugfs.h -rw-r--r-- 300 bytes
ethtool.c -rw-r--r-- 697 bytes
genregdb.awk -rw-r--r-- 4.0 KB
ibss.c -rw-r--r-- 12.2 KB
lib80211.c -rw-r--r-- 6.5 KB
lib80211_crypt_ccmp.c -rw-r--r-- 11.6 KB
lib80211_crypt_tkip.c -rw-r--r-- 20.4 KB
lib80211_crypt_wep.c -rw-r--r-- 7.1 KB
mesh.c -rw-r--r-- 7.5 KB
mlme.c -rw-r--r-- 20.0 KB
nl80211.c -rw-r--r-- 340.4 KB
nl80211.h -rw-r--r-- 3.7 KB
ocb.c -rw-r--r-- 1.9 KB
radiotap.c -rw-r--r-- 11.7 KB
rdev-ops.h -rw-r--r-- 29.6 KB
reg.c -rw-r--r-- 83.3 KB
reg.h -rw-r--r-- 5.8 KB
regdb.h -rw-r--r-- 948 bytes
scan.c -rw-r--r-- 42.6 KB
sme.c -rw-r--r-- 27.1 KB
sysfs.c -rw-r--r-- 3.9 KB
sysfs.h -rw-r--r-- 183 bytes
trace.c -rw-r--r-- 102 bytes
trace.h -rw-r--r-- 76.6 KB
util.c -rw-r--r-- 42.6 KB
wext-compat.c -rw-r--r-- 38.8 KB
wext-compat.h -rw-r--r-- 2.3 KB
wext-core.c -rw-r--r-- 29.0 KB
wext-priv.c -rw-r--r-- 6.9 KB
wext-proc.c -rw-r--r-- 4.0 KB
wext-sme.c -rw-r--r-- 9.2 KB
wext-spy.c -rw-r--r-- 6.6 KB

back to top