|
@@ -325,14 +325,12 @@ static int ip_rcv_finish(struct sk_buff *skb)
|
|
const struct net_protocol *ipprot;
|
|
const struct net_protocol *ipprot;
|
|
int protocol = iph->protocol;
|
|
int protocol = iph->protocol;
|
|
|
|
|
|
- rcu_read_lock();
|
|
|
|
ipprot = rcu_dereference(inet_protos[protocol]);
|
|
ipprot = rcu_dereference(inet_protos[protocol]);
|
|
if (ipprot && ipprot->early_demux) {
|
|
if (ipprot && ipprot->early_demux) {
|
|
ipprot->early_demux(skb);
|
|
ipprot->early_demux(skb);
|
|
/* must reload iph, skb->head might have changed */
|
|
/* must reload iph, skb->head might have changed */
|
|
iph = ip_hdr(skb);
|
|
iph = ip_hdr(skb);
|
|
}
|
|
}
|
|
- rcu_read_unlock();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|