diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index d0a314879d81..5d427f86b414 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -1230,14 +1230,15 @@ int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb) | |||
1230 | 1230 | ||
1231 | tcp_openreq_init(req, &tmp_opt, skb); | 1231 | tcp_openreq_init(req, &tmp_opt, skb); |
1232 | 1232 | ||
1233 | if (security_inet_conn_request(sk, skb, req)) | ||
1234 | goto drop_and_free; | ||
1235 | |||
1236 | ireq = inet_rsk(req); | 1233 | ireq = inet_rsk(req); |
1237 | ireq->loc_addr = daddr; | 1234 | ireq->loc_addr = daddr; |
1238 | ireq->rmt_addr = saddr; | 1235 | ireq->rmt_addr = saddr; |
1239 | ireq->no_srccheck = inet_sk(sk)->transparent; | 1236 | ireq->no_srccheck = inet_sk(sk)->transparent; |
1240 | ireq->opt = tcp_v4_save_options(sk, skb); | 1237 | ireq->opt = tcp_v4_save_options(sk, skb); |
1238 | |||
1239 | if (security_inet_conn_request(sk, skb, req)) | ||
1240 | goto drop_and_free; | ||
1241 | |||
1241 | if (!want_cookie) | 1242 | if (!want_cookie) |
1242 | TCP_ECN_create_request(req, tcp_hdr(skb)); | 1243 | TCP_ECN_create_request(req, tcp_hdr(skb)); |
1243 | 1244 | ||