From: Eric Dumazet Date: Wed, 9 Jan 2008 07:41:28 +0000 (-0800) Subject: [SOCK]: Adds a rcu_dereference() in sk_filter X-Git-Tag: v2.6.24-rc8~54^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d3e44425e3498eb33f25d94392b4fd0d56a5176;p=linux-2.6 [SOCK]: Adds a rcu_dereference() in sk_filter It seems commit fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9 introduced a RCU protection for sk_filter(), without a rcu_dereference() Either we need a rcu_dereference(), either a comment should explain why we dont need it. I vote for the former. Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller --- diff --git a/include/net/sock.h b/include/net/sock.h index 67e35c7e23..6e1542da33 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -944,7 +944,7 @@ static inline int sk_filter(struct sock *sk, struct sk_buff *skb) return err; rcu_read_lock_bh(); - filter = sk->sk_filter; + filter = rcu_dereference(sk->sk_filter); if (filter) { unsigned int pkt_len = sk_run_filter(skb, filter->insns, filter->len);