|
@@ -1722,6 +1722,8 @@ process:
|
|
|
*/
|
|
|
sock_hold(sk);
|
|
|
refcounted = true;
|
|
|
+ if (tcp_filter(sk, skb))
|
|
|
+ goto discard_and_relse;
|
|
|
nsk = tcp_check_req(sk, skb, req, false);
|
|
|
if (!nsk) {
|
|
|
reqsk_put(req);
|
|
@@ -1729,8 +1731,6 @@ process:
|
|
|
}
|
|
|
if (nsk == sk) {
|
|
|
reqsk_put(req);
|
|
|
- } else if (tcp_filter(sk, skb)) {
|
|
|
- goto discard_and_relse;
|
|
|
} else if (tcp_child_process(sk, nsk, skb)) {
|
|
|
tcp_v4_send_reset(nsk, skb);
|
|
|
goto discard_and_relse;
|