From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed, 28 Dec 2016 16:09:31 +0800
+ spin_lock(&queue->lock);Since you always clear the 'queue' when you insert the skb that hits
+ qlen = skb_queue_len(queue);
+ if (qlen > rx_batched)
+ goto drop;
+ __skb_queue_tail(queue, skb);
+ if (!more || qlen + 1 > rx_batched) {
+ __skb_queue_head_init(&process_queue);
+ skb_queue_splice_tail_init(queue, &process_queue);
+ rcv = true;
+ }
+ spin_unlock(&queue->lock);
the limit, I don't see how the "goto drop" path can be possibly taken.