]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/bridge/br_mdb.c
make vfree() safe to call from interrupt contexts
[karo-tx-linux.git] / net / bridge / br_mdb.c
index 38991e03646de3d5bbd142ef2bdebcd3175003e4..9f97b850fc65171cf87692cf87a3b2e29d906e0c 100644 (file)
@@ -18,7 +18,6 @@ static int br_rports_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
 {
        struct net_bridge *br = netdev_priv(dev);
        struct net_bridge_port *p;
-       struct hlist_node *n;
        struct nlattr *nest;
 
        if (!br->multicast_router || hlist_empty(&br->router_list))
@@ -28,7 +27,7 @@ static int br_rports_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
        if (nest == NULL)
                return -EMSGSIZE;
 
-       hlist_for_each_entry_rcu(p, n, &br->router_list, rlist) {
+       hlist_for_each_entry_rcu(p, &br->router_list, rlist) {
                if (p && nla_put_u32(skb, MDBA_ROUTER_PORT, p->dev->ifindex))
                        goto fail;
        }
@@ -61,12 +60,11 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
                return -EMSGSIZE;
 
        for (i = 0; i < mdb->max; i++) {
-               struct hlist_node *h;
                struct net_bridge_mdb_entry *mp;
                struct net_bridge_port_group *p, **pp;
                struct net_bridge_port *port;
 
-               hlist_for_each_entry_rcu(mp, h, &mdb->mhash[i], hlist[mdb->ver]) {
+               hlist_for_each_entry_rcu(mp, &mdb->mhash[i], hlist[mdb->ver]) {
                        if (idx < s_idx)
                                goto skip;