diff options
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r-- | drivers/net/tun.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 5ce580f413b9..5550f56cb895 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -1286,6 +1286,7 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, | |||
1286 | buflen += SKB_DATA_ALIGN(len + pad); | 1286 | buflen += SKB_DATA_ALIGN(len + pad); |
1287 | rcu_read_unlock(); | 1287 | rcu_read_unlock(); |
1288 | 1288 | ||
1289 | alloc_frag->offset = ALIGN((u64)alloc_frag->offset, SMP_CACHE_BYTES); | ||
1289 | if (unlikely(!skb_page_frag_refill(buflen, alloc_frag, GFP_KERNEL))) | 1290 | if (unlikely(!skb_page_frag_refill(buflen, alloc_frag, GFP_KERNEL))) |
1290 | return ERR_PTR(-ENOMEM); | 1291 | return ERR_PTR(-ENOMEM); |
1291 | 1292 | ||
@@ -2027,6 +2028,9 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
2027 | 2028 | ||
2028 | if (!dev) | 2029 | if (!dev) |
2029 | return -ENOMEM; | 2030 | return -ENOMEM; |
2031 | err = dev_get_valid_name(net, dev, name); | ||
2032 | if (err < 0) | ||
2033 | goto err_free_dev; | ||
2030 | 2034 | ||
2031 | dev_net_set(dev, net); | 2035 | dev_net_set(dev, net); |
2032 | dev->rtnl_link_ops = &tun_link_ops; | 2036 | dev->rtnl_link_ops = &tun_link_ops; |