Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c457338d authored by Brian Haley's avatar Brian Haley Committed by David S. Miller
Browse files

ipv6: drop packets when source address is multicast



RFC 4291 Section 2.7 says Multicast addresses must not be used as source
addresses in IPv6 packets - drop them on input so we don't process the
packet further.

Signed-off-by: default avatarBrian Haley <brian.haley@hp.com>
Reported-and-Tested-by: default avatarKumar Sanghvi <divinekumar@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 10953db8
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -111,6 +111,14 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
	    ipv6_addr_loopback(&hdr->daddr))
		goto err;

	/*
	 * RFC4291 2.7
	 * Multicast addresses must not be used as source addresses in IPv6
	 * packets or appear in any Routing header.
	 */
	if (ipv6_addr_is_multicast(&hdr->saddr))
		goto err;

	skb->transport_header = skb->network_header + sizeof(*hdr);
	IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr);