--- x/drivers/net/tun.c +++ y/drivers/net/tun.c @@ -1485,7 +1485,7 @@ static struct sk_buff *tun_napi_alloc_fr skb->truesize += skb->data_len; for (i = 1; i < it->nr_segs; i++) { - const struct iovec *iov = iter_iov(it); + const struct iovec *iov = iter_iov(it) + i; size_t fragsz = iov->iov_len; struct page *page; void *frag;