while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) { 
if (qlen > skb_queue_len(&sk->sk_receive_queue)) qlen = skb_queue_len(&sk->sk_receive_queue);  while (qlen--) { skb = skb_dequeue(&sk->sk_receive_queue); 
static void rtnetlink_rcv(struct sock *sk, int len){	do {		struct sk_buff *skb;		if (rtnl_shlock_nowait())			return;		while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) {			if (rtnetlink_rcv_skb(skb)) {				if (skb->len)					skb_queue_head(&sk->sk_receive_queue,						       skb);				else					kfree_skb(skb);				break;			}			kfree_skb(skb);		}		up(&rtnl_sem);		netdev_run_todo();	} while (rtnl && rtnl->sk_receive_queue.qlen);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2a0a6ebee1d68552152ae8d4aeda91d806995dec/rtnetlink.c/buggy/net/core/rtnetlink.c