summary refs log tree commit diff
path: root/net/core/timestamping.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-12-17 12:27:22 -0800
committerDavid S. Miller <davem@davemloft.net>2010-12-17 12:27:22 -0800
commitb4aa9e05a61b845541fa6f5b1d246976922601f0 (patch)
treeca94478c3df281ab76a3399f5ba6341ade3f5791 /net/core/timestamping.c
parent1dc0f3c54ce1df957f99c17b145488fd03eb1a59 (diff)
parent4b8fe66300acb2fba8b16d62606e0d30204022fc (diff)
downloadlinux-b4aa9e05a61b845541fa6f5b1d246976922601f0.tar.gz
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	drivers/net/bnx2x/bnx2x.h
	drivers/net/wireless/iwlwifi/iwl-1000.c
	drivers/net/wireless/iwlwifi/iwl-6000.c
	drivers/net/wireless/iwlwifi/iwl-core.h
	drivers/vhost/vhost.c
Diffstat (limited to 'net/core/timestamping.c')
-rw-r--r--net/core/timestamping.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/core/timestamping.c b/net/core/timestamping.c
index b124d28ff1c8..7e7ca375d431 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: