tun.c (cecdd52a3dd312564f81a39df08378b7b39a2654) tun.c (de4f5fed3f231a8ff4790bf52975f847b95b85ea)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * TUN - Universal TUN/TAP device driver.
4 * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
5 *
6 * $Id: tun.c,v 1.15 2002/03/01 02:44:24 maxk Exp $
7 */
8

--- 1472 unchanged lines hidden (view full) ---

1481 if (err)
1482 goto free;
1483
1484 skb->len = len;
1485 skb->data_len = len - linear;
1486 skb->truesize += skb->data_len;
1487
1488 for (i = 1; i < it->nr_segs; i++) {
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * TUN - Universal TUN/TAP device driver.
4 * Copyright (C) 1999-2002 Maxim Krasnyansky <maxk@qualcomm.com>
5 *
6 * $Id: tun.c,v 1.15 2002/03/01 02:44:24 maxk Exp $
7 */
8

--- 1472 unchanged lines hidden (view full) ---

1481 if (err)
1482 goto free;
1483
1484 skb->len = len;
1485 skb->data_len = len - linear;
1486 skb->truesize += skb->data_len;
1487
1488 for (i = 1; i < it->nr_segs; i++) {
1489 size_t fragsz = it->iov[i].iov_len;
1489 const struct iovec *iov = iter_iov(it);
1490 size_t fragsz = iov->iov_len;
1490 struct page *page;
1491 void *frag;
1492
1493 if (fragsz == 0 || fragsz > PAGE_SIZE) {
1494 err = -EINVAL;
1495 goto free;
1496 }
1497 frag = netdev_alloc_frag(fragsz);

--- 2268 unchanged lines hidden ---
1491 struct page *page;
1492 void *frag;
1493
1494 if (fragsz == 0 || fragsz > PAGE_SIZE) {
1495 err = -EINVAL;
1496 goto free;
1497 }
1498 frag = netdev_alloc_frag(fragsz);

--- 2268 unchanged lines hidden ---