diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index d607bae075d5cad5ef78e4e35e23a6c8bcfd3084..cdc28598f4efadb83b79a006a71ea676b508a655 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -3483,8 +3483,7 @@ bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from,
 		    skb_shinfo(from)->nr_frags > MAX_SKB_FRAGS)
 			return false;
 
-		delta = from->truesize -
-			SKB_TRUESIZE(skb_end_pointer(from) - from->head);
+		delta = from->truesize - SKB_TRUESIZE(skb_end_offset(from));
 	}
 
 	WARN_ON_ONCE(delta < len);