diff options
Diffstat (limited to 'net/ipv4/syncookies.c')
| -rw-r--r-- | net/ipv4/syncookies.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c index 307dc3c0d63..661e0a4bca7 100644 --- a/net/ipv4/syncookies.c +++ b/net/ipv4/syncookies.c @@ -214,6 +214,10 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,  	if (!req)  		goto out; +	if (security_inet_conn_request(sk, skb, req)) { +		reqsk_free(req); +		goto out; +	}  	ireq = inet_rsk(req);  	treq = tcp_rsk(req);  	treq->rcv_isn		= htonl(skb->h.th->seq) - 1; @@ -259,7 +263,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,  				    .uli_u = { .ports =  					       { .sport = skb->h.th->dest,  						 .dport = skb->h.th->source } } }; -		security_sk_classify_flow(sk, &fl); +		security_req_classify_flow(req, &fl);  		if (ip_route_output_key(&rt, &fl)) {  			reqsk_free(req);  			goto out;   |