diff options
author | Neal Cardwell <ncardwell@google.com> | 2012-06-23 15:22:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-25 19:05:19 -0400 |
commit | 437c5b53f63b468996090200df66ef2f3f588c80 (patch) | |
tree | 528d2146edf14e848fa39d7f5861119e91ce4d20 /net/ipv6 | |
parent | fa809e2fd6e317226c046202a88520962672eac0 (diff) |
tcp: heed result of security_inet_conn_request() in tcp_v6_conn_request()
If security_inet_conn_request() returns non-zero then TCP/IPv6 should
drop the request, just as in TCP/IPv4 and DCCP in both IPv4 and IPv6.
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 3a9aec29581a..9df64a50b075 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -1212,7 +1212,8 @@ have_isn: | |||
1212 | tcp_rsk(req)->snt_isn = isn; | 1212 | tcp_rsk(req)->snt_isn = isn; |
1213 | tcp_rsk(req)->snt_synack = tcp_time_stamp; | 1213 | tcp_rsk(req)->snt_synack = tcp_time_stamp; |
1214 | 1214 | ||
1215 | security_inet_conn_request(sk, skb, req); | 1215 | if (security_inet_conn_request(sk, skb, req)) |
1216 | goto drop_and_release; | ||
1216 | 1217 | ||
1217 | if (tcp_v6_send_synack(sk, req, | 1218 | if (tcp_v6_send_synack(sk, req, |
1218 | (struct request_values *)&tmp_ext, | 1219 | (struct request_values *)&tmp_ext, |