[NETLINK]: Fix infinite loops in synchronous netlink changes.
The qlen should continue to decrement, even if we pop partially processed SKBs back onto the receive queue. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
2a0a6ebee1
commit
09e1430598
@@ -121,7 +121,7 @@ static void dnrmg_receive_user_sk(struct sock *sk, int len)
|
||||
struct sk_buff *skb;
|
||||
unsigned int qlen = skb_queue_len(&sk->sk_receive_queue);
|
||||
|
||||
while (qlen-- && (skb = skb_dequeue(&sk->sk_receive_queue))) {
|
||||
for (; qlen && (skb = skb_dequeue(&sk->sk_receive_queue)); qlen--) {
|
||||
dnrmg_receive_user_skb(skb);
|
||||
kfree_skb(skb);
|
||||
}
|
||||
|
Reference in New Issue
Block a user