virtio_net: fix return value check in receive_mergeable()
authorYunjian Wang <wangyunjian@huawei.com>
Mon, 4 Dec 2017 06:02:19 +0000 (14:02 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 7 Dec 2017 16:34:52 +0000 (18:34 +0200)
The function virtqueue_get_buf_ctx() could return NULL, the return
value 'buf' need to be checked with NULL, not value 'ctx'.

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/net/virtio_net.c

index 511f833..7927e28 100644 (file)
@@ -714,7 +714,7 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
                int num_skb_frags;
 
                buf = virtqueue_get_buf_ctx(rq->vq, &len, &ctx);
-               if (unlikely(!ctx)) {
+               if (unlikely(!buf)) {
                        pr_debug("%s: rx error: %d buffers out of %d missing\n",
                                 dev->name, num_buf,
                                 virtio16_to_cpu(vi->vdev,