X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fipv4%2Fip_input.c;h=f2e88193d559d791f3909c7114cfb81582e041b5;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=c7b3b6050207b084d5189d05c19cc9e91b0bf92e;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index c7b3b6050..f2e88193d 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c @@ -231,10 +231,9 @@ static inline int ip_local_deliver_finish(struct sk_buff *skb) if (raw_sk) raw_v4_input(skb, skb->nh.iph, hash); - if ((ipprot = inet_protos[hash]) != NULL) { + if ((ipprot = rcu_dereference(inet_protos[hash])) != NULL) { int ret; - smp_read_barrier_depends(); if (!ipprot->no_policy && !xfrm4_policy_check(NULL, XFRM_POLICY_IN, skb)) { kfree_skb(skb);