diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-03-16 04:38:25 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-16 04:38:25 +0100 |
commit | 0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd (patch) | |
tree | f5698d42aa24da271ec6a9a5eef8d6b89e5b4e2c /net/bridge/br_multicast.c | |
parent | ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe (diff) | |
download | linux-0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd.tar.xz linux-0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd.zip |
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 fd96a8dc97f4..398221e81be5 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; |