[NET]: Fix sk->sk_filter field access

Function sk_filter() is called from tcp_v{4,6}_rcv() functions with arg
needlock = 0, while socket is not locked at that moment. In order to avoid
this and similar issues in the future, use rcu for sk->sk_filter field read
protection.

Signed-off-by: Dmitry Mishin <[email protected]>
Signed-off-by: Alexey Kuznetsov <[email protected]>
Signed-off-by: Kirill Korotaev <[email protected]>
This commit is contained in:
Dmitry Mishin 2006-08-31 15:28:39 -07:00 • committed by David S. Miller
commit fda9ef5d67
10 changed files with 61 additions and 71 deletions

View file

@ -586,7 +586,7 @@ static __inline__ int dn_queue_skb(struct sock *sk, struct sk_buff *skb, int sig
goto out;
}
err = sk_filter(sk, skb, 0);
err = sk_filter(sk, skb);
if (err)
goto out;