struct llc_sap *sap;
struct llc_pdu_sn *pdu;
int dest;
+ int (*rcv)(struct sk_buff *, struct net_device *,
+ struct packet_type *, struct net_device *);
/*
* When the interface is in promisc. mode, drop all the crap that it
* First the upper layer protocols that don't need the full
* LLC functionality
*/
- if (sap->rcv_func) {
- sap->rcv_func(skb, dev, pt, orig_dev);
+ rcv = rcu_dereference(sap->rcv_func);
+ if (rcv) {
+ rcv(skb, dev, pt, orig_dev);
goto out_put;
}
dest = llc_pdu_type(skb);