bridge: fix RCU races with bridge port
The macro br_port_exists() is not enough protection when only RCU is being used. There is a tiny race where other CPU has cleared port handler hook, but is bridge port flag might still be set. Signed-off-by:Stephen Hemminger <shemminger@vyatta.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- net/bridge/br_fdb.c 9 additions, 6 deletionsnet/bridge/br_fdb.c
- net/bridge/br_if.c 1 addition, 4 deletionsnet/bridge/br_if.c
- net/bridge/br_netfilter.c 7 additions, 6 deletionsnet/bridge/br_netfilter.c
- net/bridge/br_netlink.c 6 additions, 4 deletionsnet/bridge/br_netlink.c
- net/bridge/br_notify.c 1 addition, 1 deletionnet/bridge/br_notify.c
- net/bridge/br_private.h 11 additions, 3 deletionsnet/bridge/br_private.h
- net/bridge/br_stp_bpdu.c 4 additions, 4 deletionsnet/bridge/br_stp_bpdu.c
- net/bridge/netfilter/ebtables.c 5 additions, 6 deletionsnet/bridge/netfilter/ebtables.c
Loading