aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/ipv6.h10
-rw-r--r--include/net/inet_sock.h6
-rw-r--r--net/dccp/ipv6.c2
-rw-r--r--net/ipv6/syncookies.c2
-rw-r--r--net/ipv6/tcp_ipv6.c2
5 files changed, 7 insertions, 15 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index 2faef339d8f2..c811300b0b0c 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -256,16 +256,6 @@ static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
256 return inet_sk(__sk)->pinet6; 256 return inet_sk(__sk)->pinet6;
257} 257}
258 258
259static inline struct request_sock *inet6_reqsk_alloc(struct request_sock_ops *ops)
260{
261 struct request_sock *req = reqsk_alloc(ops);
262
263 if (req)
264 inet_rsk(req)->pktopts = NULL;
265
266 return req;
267}
268
269static inline struct raw6_sock *raw6_sk(const struct sock *sk) 259static inline struct raw6_sock *raw6_sk(const struct sock *sk)
270{ 260{
271 return (struct raw6_sock *)sk; 261 return (struct raw6_sock *)sk;
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index b1edf17bec01..a829b77523cf 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -88,8 +88,10 @@ struct inet_request_sock {
88 acked : 1, 88 acked : 1,
89 no_srccheck: 1; 89 no_srccheck: 1;
90 kmemcheck_bitfield_end(flags); 90 kmemcheck_bitfield_end(flags);
91 struct ip_options_rcu *opt; 91 union {
92 struct sk_buff *pktopts; 92 struct ip_options_rcu *opt;
93 struct sk_buff *pktopts;
94 };
93 u32 ir_mark; 95 u32 ir_mark;
94}; 96};
95 97
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
index 4db3c2a1679c..04cb17d4b0ce 100644
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c
@@ -386,7 +386,7 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
386 if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1) 386 if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1)
387 goto drop; 387 goto drop;
388 388
389 req = inet6_reqsk_alloc(&dccp6_request_sock_ops); 389 req = inet_reqsk_alloc(&dccp6_request_sock_ops);
390 if (req == NULL) 390 if (req == NULL)
391 goto drop; 391 goto drop;
392 392
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
index a822b880689b..83cea1d39466 100644
--- a/net/ipv6/syncookies.c
+++ b/net/ipv6/syncookies.c
@@ -187,7 +187,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb)
187 goto out; 187 goto out;
188 188
189 ret = NULL; 189 ret = NULL;
190 req = inet6_reqsk_alloc(&tcp6_request_sock_ops); 190 req = inet_reqsk_alloc(&tcp6_request_sock_ops);
191 if (!req) 191 if (!req)
192 goto out; 192 goto out;
193 193
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index a962455471ba..5e2d7e655c0f 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1010,7 +1010,7 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
1010 goto drop; 1010 goto drop;
1011 } 1011 }
1012 1012
1013 req = inet6_reqsk_alloc(&tcp6_request_sock_ops); 1013 req = inet_reqsk_alloc(&tcp6_request_sock_ops);
1014 if (req == NULL) 1014 if (req == NULL)
1015 goto drop; 1015 goto drop;
1016 1016