mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 08:34:20 +08:00
bridge br_multicast: Ensure to initialize BR_INPUT_SKB_CB(skb)->mrouters_only.
Even with commit 32dec5dd02
("bridge
br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only
without IGMP snooping."), BR_INPUT_SKB_CB(skb)->mrouters_only is
not appropriately initialized if IGMP/MLD snooping support is
compiled and disabled, so we can see garbage.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4a4771a58e
commit
1fafc7a935
@ -1340,9 +1340,6 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br,
|
|||||||
unsigned offset;
|
unsigned offset;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
BR_INPUT_SKB_CB(skb)->igmp = 0;
|
|
||||||
BR_INPUT_SKB_CB(skb)->mrouters_only = 0;
|
|
||||||
|
|
||||||
/* We treat OOM as packet loss for now. */
|
/* We treat OOM as packet loss for now. */
|
||||||
if (!pskb_may_pull(skb, sizeof(*iph)))
|
if (!pskb_may_pull(skb, sizeof(*iph)))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -1440,9 +1437,6 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
|
|||||||
unsigned offset;
|
unsigned offset;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
BR_INPUT_SKB_CB(skb)->igmp = 0;
|
|
||||||
BR_INPUT_SKB_CB(skb)->mrouters_only = 0;
|
|
||||||
|
|
||||||
if (!pskb_may_pull(skb, sizeof(*ip6h)))
|
if (!pskb_may_pull(skb, sizeof(*ip6h)))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@ -1550,6 +1544,9 @@ out:
|
|||||||
int br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port,
|
int br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
BR_INPUT_SKB_CB(skb)->igmp = 0;
|
||||||
|
BR_INPUT_SKB_CB(skb)->mrouters_only = 0;
|
||||||
|
|
||||||
if (br->multicast_disabled)
|
if (br->multicast_disabled)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user