diff options
author | Neal Cardwell <ncardwell@google.com> | 2012-06-23 23:22:00 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-26 03:05:19 +0400 |
commit | 437c5b53f63b468996090200df66ef2f3f588c80 (patch) | |
tree | 528d2146edf14e848fa39d7f5861119e91ce4d20 | |
parent | fa809e2fd6e317226c046202a88520962672eac0 (diff) | |
download | linux-437c5b53f63b468996090200df66ef2f3f588c80.tar.xz |
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>
-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: tcp_rsk(req)->snt_isn = isn; tcp_rsk(req)->snt_synack = tcp_time_stamp; - security_inet_conn_request(sk, skb, req); + if (security_inet_conn_request(sk, skb, req)) + goto drop_and_release; if (tcp_v6_send_synack(sk, req, (struct request_values *)&tmp_ext, |