diff options
author | Huw Davies <huw@codeweavers.com> | 2016-06-27 15:05:28 -0400 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2016-06-27 15:05:28 -0400 |
commit | 56ac42bc94b18d45b6c484edeac33be86bfb3efa (patch) | |
tree | d14e433bcc0b3fef9349a86cbb6d8d87dedfb232 /net/ipv4 | |
parent | 1f440c99d3207d684a3ac48d6e528af548b5c915 (diff) | |
download | op-kernel-dev-56ac42bc94b18d45b6c484edeac33be86bfb3efa.zip op-kernel-dev-56ac42bc94b18d45b6c484edeac33be86bfb3efa.tar.gz |
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 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index e6e65f7..071174c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -6146,6 +6146,9 @@ struct request_sock *inet_reqsk_alloc(const struct request_sock_ops *ops, kmemcheck_annotate_bitfield(ireq, flags); ireq->opt = NULL; +#if IS_ENABLED(CONFIG_IPV6) + ireq->pktopts = NULL; +#endif atomic64_set(&ireq->ir_cookie, 0); ireq->ireq_state = TCP_NEW_SYN_RECV; write_pnet(&ireq->ireq_net, sock_net(sk_listener)); |