summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorHuw Davies <huw@codeweavers.com>2016-06-27 21:05:28 +0200
committerPaul Moore <paul@paul-moore.com>2016-06-27 21:05:28 +0200
commit56ac42bc94b18d45b6c484edeac33be86bfb3efa (patch)
treed14e433bcc0b3fef9349a86cbb6d8d87dedfb232 /include/net
parentnetlabel: Prevent setsockopt() from changing the hop-by-hop option. (diff)
downloadlinux-56ac42bc94b18d45b6c484edeac33be86bfb3efa.tar.xz
linux-56ac42bc94b18d45b6c484edeac33be86bfb3efa.zip
ipv6: Allow request socks to contain IPv6 options.
If set, these will take precedence over the parent's options during both sending and child creation. If they're not set, the parent's options (if any) will be used. This is to allow the security_inet_conn_request() hook to modify the IPv6 options in just the same way that it already may do for IPv4. Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/inet_sock.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index 012b1f91f3ec..236a81034fef 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -97,7 +97,12 @@ struct inet_request_sock {
u32 ir_mark;
union {
struct ip_options_rcu *opt;
- struct sk_buff *pktopts;
+#if IS_ENABLED(CONFIG_IPV6)
+ struct {
+ struct ipv6_txoptions *ipv6_opt;
+ struct sk_buff *pktopts;
+ };
+#endif
};
};