diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index f6275aa19b6a96a044821faee5f472bc9a19414d..d235478d9ca3cb8e900882b67845cb719b19998e 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -2278,7 +2278,8 @@ int ipmr_get_route(struct net *net, struct sk_buff *skb, rcu_read_unlock(); return -ENODEV; } - skb2 = skb_clone(skb, GFP_ATOMIC); + + skb2 = skb_realloc_headroom(skb, sizeof(struct iphdr)); if (!skb2) { read_unlock(&mrt_lock); rcu_read_unlock();