aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bridge/br_fdb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index e0670d7054f9..659fb96672e4 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -796,9 +796,11 @@ static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge_port *p,
796 int err = 0; 796 int err = 0;
797 797
798 if (ndm->ndm_flags & NTF_USE) { 798 if (ndm->ndm_flags & NTF_USE) {
799 local_bh_disable();
799 rcu_read_lock(); 800 rcu_read_lock();
800 br_fdb_update(p->br, p, addr, vid, true); 801 br_fdb_update(p->br, p, addr, vid, true);
801 rcu_read_unlock(); 802 rcu_read_unlock();
803 local_bh_enable();
802 } else { 804 } else {
803 spin_lock_bh(&p->br->hash_lock); 805 spin_lock_bh(&p->br->hash_lock);
804 err = fdb_add_entry(p, addr, ndm->ndm_state, 806 err = fdb_add_entry(p, addr, ndm->ndm_state,