summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_mdb.c
diff options
context:
space:
mode:
authorNikolay Aleksandrov2018-12-05 14:14:25 +0100
committerDavid S. Miller2018-12-06 02:01:51 +0100
commit4329596cb10d23c9e22c78e676a3667ef28ed62f (patch)
tree5cc06a0e796073d46762c92f80e846c820102375 /net/bridge/br_mdb.c
parentnet: bridge: convert multicast to generic rhashtable (diff)
downloadkernel-qcow2-linux-4329596cb10d23c9e22c78e676a3667ef28ed62f.tar.gz
kernel-qcow2-linux-4329596cb10d23c9e22c78e676a3667ef28ed62f.tar.xz
kernel-qcow2-linux-4329596cb10d23c9e22c78e676a3667ef28ed62f.zip
net: bridge: multicast: use non-bh rcu flavor
The bridge multicast code has been using a mix of RCU and RCU-bh flavors sometimes in questionable way. Since we've moved to rhashtable just use non-bh RCU everywhere. In addition this simplifies freeing of objects and allows us to remove some unnecessary callback functions. v3: new patch Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_mdb.c')
-rw-r--r--net/bridge/br_mdb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
index ea8abdb56df3..79d4c9d253e0 100644
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
@@ -710,7 +710,7 @@ static int __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry)
rcu_assign_pointer(*pp, p->next);
hlist_del_init(&p->mglist);
del_timer(&p->timer);
- call_rcu_bh(&p->rcu, br_multicast_free_pg);
+ kfree_rcu(p, rcu);
err = 0;
if (!mp->ports && !mp->host_joined &&