diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-03-15 20:38:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-15 20:38:25 -0700 |
commit | 0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd (patch) | |
tree | f5698d42aa24da271ec6a9a5eef8d6b89e5b4e2c /net/bridge/br_multicast.c | |
parent | d00561a2f64b381aefb41f4a140ff5dc373b52e7 (diff) | |
download | op-kernel-dev-0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd.zip op-kernel-dev-0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd.tar.gz |
bridge: Move NULL mdb check into br_mdb_ip_get
Since all callers of br_mdb_ip_get need to check whether the
hash table is NULL, this patch moves the check into the function.
This fixes the two callers (query/leave handler) that didn't
check it.
Reported-by: Michael Braun <michael-dev@fami-braun.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_multicast.c')
-rw-r--r-- | net/bridge/br_multicast.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index fd96a8d..398221e 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -49,22 +49,23 @@ static struct net_bridge_mdb_entry *__br_mdb_ip_get( static struct net_bridge_mdb_entry *br_mdb_ip_get( struct net_bridge_mdb_htable *mdb, __be32 dst) { + if (!mdb) + return NULL; + return __br_mdb_ip_get(mdb, dst, br_ip_hash(mdb, dst)); } struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br, struct sk_buff *skb) { - struct net_bridge_mdb_htable *mdb = br->mdb; - - if (!mdb || br->multicast_disabled) + if (br->multicast_disabled) return NULL; switch (skb->protocol) { case htons(ETH_P_IP): if (BR_INPUT_SKB_CB(skb)->igmp) break; - return br_mdb_ip_get(mdb, ip_hdr(skb)->daddr); + return br_mdb_ip_get(br->mdb, ip_hdr(skb)->daddr); } return NULL; |