From 6b6c4eebfde1a4ef135d9f4ebbb735715b1e0ee9 Mon Sep 17 00:00:00 2001 From: Adrian Bondrescu Date: Fri, 1 Jun 2012 05:30:31 +0300 Subject: [PATCH] We were performing one extra skb_recv_datagram in mptp_recvmsg. --- src/kernel/mptp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/kernel/mptp.c b/src/kernel/mptp.c index eaff81e..83f7b1e 100644 --- a/src/kernel/mptp.c +++ b/src/kernel/mptp.c @@ -402,6 +402,9 @@ static int mptp_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr * out_free: skb_free_datagram(sk, skb); + if (i == msg->msg_iovlen - 1) + break; + skb = skb_recv_datagram(sk, flags, 1, &err); if (likely(err == -EAGAIN)) { log_debug("No more skbs in the queue, returning...\n"); -- 2.20.1