mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-01 03:23:39 +10:00 
			
		
		
		
	bridge: mcast: Fix MLD2 Report IPv6 payload length check
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 <nikolay@cumulusnetworks.com> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									394de110a7
								
							
						
					
					
						commit
						5fc6266af7
					
				| @ -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 New Issue
	
	Block a user