net-next: skbuff: refactor pskb_pull
pskb_may_pull already contains all of the checks performed by pskb_pull. Use pskb_may_pull for validation in pskb_pull, eliminating the duplication and making __pskb_pull obsolete. Replace __pskb_pull with pskb_pull where applicable. Signed-off-by: Richard Gobert <richardbgobert@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
96e0718165
commit
d427c8999b
@@ -2616,20 +2616,6 @@ void *skb_pull_data(struct sk_buff *skb, size_t len);
|
||||
|
||||
void *__pskb_pull_tail(struct sk_buff *skb, int delta);
|
||||
|
||||
static inline void *__pskb_pull(struct sk_buff *skb, unsigned int len)
|
||||
{
|
||||
if (len > skb_headlen(skb) &&
|
||||
!__pskb_pull_tail(skb, len - skb_headlen(skb)))
|
||||
return NULL;
|
||||
skb->len -= len;
|
||||
return skb->data += len;
|
||||
}
|
||||
|
||||
static inline void *pskb_pull(struct sk_buff *skb, unsigned int len)
|
||||
{
|
||||
return unlikely(len > skb->len) ? NULL : __pskb_pull(skb, len);
|
||||
}
|
||||
|
||||
static inline bool pskb_may_pull(struct sk_buff *skb, unsigned int len)
|
||||
{
|
||||
if (likely(len <= skb_headlen(skb)))
|
||||
@@ -2639,6 +2625,15 @@ static inline bool pskb_may_pull(struct sk_buff *skb, unsigned int len)
|
||||
return __pskb_pull_tail(skb, len - skb_headlen(skb)) != NULL;
|
||||
}
|
||||
|
||||
static inline void *pskb_pull(struct sk_buff *skb, unsigned int len)
|
||||
{
|
||||
if (!pskb_may_pull(skb, len))
|
||||
return NULL;
|
||||
|
||||
skb->len -= len;
|
||||
return skb->data += len;
|
||||
}
|
||||
|
||||
void skb_condense(struct sk_buff *skb);
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user