diff options
author | Menglong Dong <menglong8.dong@gmail.com> | 2024-10-09 10:28:19 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-10-13 11:33:08 +0100 |
commit | 454bbde8f0d465e93e5a3a4003ac6c7e62fa4473 (patch) | |
tree | a92725837cd5cef6dbe1a935e3058d58f26a7957 | |
parent | c531f2269a53db5cf64b24baf785ccbcda52970f (diff) |
net: skb: add pskb_network_may_pull_reason() helper
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>
-rw-r--r-- | include/linux/skbuff.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 39f1d16f3628..48f1e0fa2a13 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -3130,9 +3130,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; } /* |