mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
bridge: mcast: Fix MLD2 Report IPv6 payload length check
[ Upstream commit 5fc6266af7b427243da24f3443a50cd4584aac06 ] Commite57f61858b("net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling") introduced a bug in the IPv6 header payload length check which would potentially lead to rejecting a valid MLD2 Report: The check needs to take into account the 2 bytes for the "Number of Sources" field in the "Multicast Address Record" before reading it. And not the size of a pointer to this field. Fixes:e57f61858b("net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling") Acked-by: Nikolay Aleksandrov <[email protected]> Signed-off-by: Linus Lüssing <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
587ccf092e
commit
aef7a9e21a
1 changed files with 1 additions and 1 deletions
|
|
@ -1007,7 +1007,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge *br,
|
|||
nsrcs_offset = len + offsetof(struct mld2_grec, grec_nsrcs);
|
||||
|
||||
if (skb_transport_offset(skb) + ipv6_transport_len(skb) <
|
||||
nsrcs_offset + sizeof(_nsrcs))
|
||||
nsrcs_offset + sizeof(__nsrcs))
|
||||
return -EINVAL;
|
||||
|
||||
_nsrcs = skb_header_pointer(skb, nsrcs_offset,
|
||||
|
|
|
|||
Loading…
Reference in a new issue