hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/ipv6/ip6_udp_tunnel.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/module.h>
23 #include <linux/errno.h>
34 #include <linux/socket.h>
....@@ -24,10 +25,12 @@
2425 goto error;
2526
2627 if (cfg->ipv6_v6only) {
27
- int val = 1;
28
-
29
- err = kernel_setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY,
30
- (char *) &val, sizeof(val));
28
+ err = ip6_sock_set_v6only(sock->sk);
29
+ if (err < 0)
30
+ goto error;
31
+ }
32
+ if (cfg->bind_ifindex) {
33
+ err = sock_bindtoindex(sock->sk, cfg->bind_ifindex, true);
3134 if (err < 0)
3235 goto error;
3336 }