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

Commit 49d074f4 authored by Denis V. Lunev's avatar Denis V. Lunev Committed by YOSHIFUJI Hideaki
Browse files

[IPV6]: Do not change protocol for raw IPv6 sockets.



It is not allowed to change underlying protocol for
   int fd = socket(PF_INET6, SOCK_RAW, IPPROTO_UDP);

Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
parent 91e1908f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -161,6 +161,9 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
			struct ipv6_txoptions *opt;
			struct sk_buff *pktopt;

			if (sk->sk_type == SOCK_RAW)
				break;

			if (sk->sk_protocol != IPPROTO_UDP &&
			    sk->sk_protocol != IPPROTO_UDPLITE &&
			    sk->sk_protocol != IPPROTO_TCP)