X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fnet%2Fmacvtap.c;h=5c26653eceb5660c0cd12b1a6669a58525fe7207;hb=086675779097c6fe95e94058072462196ffd1870;hp=52a9d811be06459251f197c34a88c415d4bf7e6b;hpb=9936f44add987355a7d79d52e48cd12255651c0d;p=karo-tx-linux.git diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 52a9d811be06..5c26653eceb5 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -679,7 +679,6 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m, int depth; bool zerocopy = false; size_t linear; - ssize_t n; if (q->flags & IFF_VNET_HDR) { vnet_hdr_len = q->vnet_hdr_sz; @@ -690,8 +689,7 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m, len -= vnet_hdr_len; err = -EFAULT; - n = copy_from_iter(&vnet_hdr, sizeof(vnet_hdr), from); - if (n != sizeof(vnet_hdr)) + if (!copy_from_iter_full(&vnet_hdr, sizeof(vnet_hdr), from)) goto err; iov_iter_advance(from, vnet_hdr_len - sizeof(vnet_hdr)); if ((vnet_hdr.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&