X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=net%2Fcore%2Ftimestamping.c;h=c19bb4ee405ede196271ac9af5452dd21525fe2e;hb=7ccbefe07ea0a3570e44d1ec13a307552ee4dadd;hp=0ae6c22da85b2a3516980691c8fbcf2f7228e3d6;hpb=682c30ed2165d5694a414d31eac7c63ac5700fb0;p=deliverable%2Flinux.git diff --git a/net/core/timestamping.c b/net/core/timestamping.c index 0ae6c22da85b..c19bb4ee405e 100644 --- a/net/core/timestamping.c +++ b/net/core/timestamping.c @@ -96,11 +96,13 @@ bool skb_defer_rx_timestamp(struct sk_buff *skb) struct phy_device *phydev; unsigned int type; - skb_push(skb, ETH_HLEN); + if (skb_headroom(skb) < ETH_HLEN) + return false; + __skb_push(skb, ETH_HLEN); type = classify(skb); - skb_pull(skb, ETH_HLEN); + __skb_pull(skb, ETH_HLEN); switch (type) { case PTP_CLASS_V1_IPV4: