]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: skb: add pskb_network_may_pull_reason() helper
authorMenglong Dong <menglong8.dong@gmail.com>
Wed, 9 Oct 2024 02:28:19 +0000 (10:28 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:58:10 +0000 (18:58 +0200)
[ Upstream commit 454bbde8f0d465e93e5a3a4003ac6c7e62fa4473 ]

Introduce the function pskb_network_may_pull_reason() and make
pskb_network_may_pull() a simple inline call to it. The drop reasons of
it just come from pskb_may_pull_reason.

Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 6ead38147ebb ("vxlan: Fix NPD when refreshing an FDB entry with a nexthop object")
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/skbuff.h

index b2827fce5a2de76c0bf25ab805111aaf348865b7..314328ab0b8438c59ed894ac359dbda9fb42cb57 100644 (file)
@@ -3153,9 +3153,15 @@ static inline int skb_inner_network_offset(const struct sk_buff *skb)
        return skb_inner_network_header(skb) - skb->data;
 }
 
+static inline enum skb_drop_reason
+pskb_network_may_pull_reason(struct sk_buff *skb, unsigned int len)
+{
+       return pskb_may_pull_reason(skb, skb_network_offset(skb) + len);
+}
+
 static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
 {
-       return pskb_may_pull(skb, skb_network_offset(skb) + len);
+       return pskb_network_may_pull_reason(skb, len) == SKB_NOT_DROPPED_YET;
 }
 
 /*