bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP...
authorYOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Mon, 15 Mar 2010 21:51:18 +0000 (21:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Mar 2010 21:34:23 +0000 (14:34 -0700)
commit32dec5dd0233ebffa9cae25ce7ba6daeb7df4467
treeb086e355e9afa2cb6ab51988175afd619787029b
parent858a18a6a2f74e8f0e5b2e9671d4b74694aba708
bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping.

Without CONFIG_BRIDGE_IGMP_SNOOPING,
BR_INPUT_SKB_CB(skb)->mrouters_only is not appropriately
initialized, so we can see garbage.

A clear option to fix this is to set it even without that
config, but we cannot optimize out the branch.

Let's introduce a macro that returns value of mrouters_only
and let it return 0 without CONFIG_BRIDGE_IGMP_SNOOPING.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_device.c
net/bridge/br_input.c
net/bridge/br_private.h