aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r--net/xfrm/xfrm_user.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index dab112f1dd8a..e8740a4a1d78 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1018,14 +1018,13 @@ static void xfrm_netlink_rcv(struct sock *sk, int len)
1018 if (qlen > skb_queue_len(&sk->sk_receive_queue)) 1018 if (qlen > skb_queue_len(&sk->sk_receive_queue))
1019 qlen = skb_queue_len(&sk->sk_receive_queue); 1019 qlen = skb_queue_len(&sk->sk_receive_queue);
1020 1020
1021 while (qlen--) { 1021 for (; qlen; qlen--) {
1022 skb = skb_dequeue(&sk->sk_receive_queue); 1022 skb = skb_dequeue(&sk->sk_receive_queue);
1023 if (xfrm_user_rcv_skb(skb)) { 1023 if (xfrm_user_rcv_skb(skb)) {
1024 if (skb->len) { 1024 if (skb->len)
1025 skb_queue_head(&sk->sk_receive_queue, 1025 skb_queue_head(&sk->sk_receive_queue,
1026 skb); 1026 skb);
1027 qlen++; 1027 else
1028 } else
1029 kfree_skb(skb); 1028 kfree_skb(skb);
1030 break; 1029 break;
1031 } 1030 }