Commit 93e16ea0 authored by Eric Dumazet's avatar Eric Dumazet Committed by Paolo Abeni

net: gro: rename skb_gro_header_hard()

skb_gro_header_hard() is renamed to skb_gro_may_pull() to match
the convention used by common helpers like pskb_may_pull().

This means the condition is inverted:

	if (skb_gro_header_hard(skb, hlen))
		slow_path();

becomes:

	if (!skb_gro_may_pull(skb, hlen))
		slow_path();
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 9452c8b4
...@@ -508,7 +508,7 @@ static struct sk_buff *geneve_gro_receive(struct sock *sk, ...@@ -508,7 +508,7 @@ static struct sk_buff *geneve_gro_receive(struct sock *sk,
gh_len = geneve_hlen(gh); gh_len = geneve_hlen(gh);
hlen = off_gnv + gh_len; hlen = off_gnv + gh_len;
if (skb_gro_header_hard(skb, hlen)) { if (!skb_gro_may_pull(skb, hlen)) {
gh = skb_gro_header_slow(skb, hlen, off_gnv); gh = skb_gro_header_slow(skb, hlen, off_gnv);
if (unlikely(!gh)) if (unlikely(!gh))
goto out; goto out;
......
...@@ -145,9 +145,10 @@ static inline void *skb_gro_header_fast(struct sk_buff *skb, ...@@ -145,9 +145,10 @@ static inline void *skb_gro_header_fast(struct sk_buff *skb,
return NAPI_GRO_CB(skb)->frag0 + offset; return NAPI_GRO_CB(skb)->frag0 + offset;
} }
static inline int skb_gro_header_hard(struct sk_buff *skb, unsigned int hlen) static inline bool skb_gro_may_pull(const struct sk_buff *skb,
unsigned int hlen)
{ {
return NAPI_GRO_CB(skb)->frag0_len < hlen; return hlen <= NAPI_GRO_CB(skb)->frag0_len;
} }
static inline void skb_gro_frag0_invalidate(struct sk_buff *skb) static inline void skb_gro_frag0_invalidate(struct sk_buff *skb)
...@@ -172,7 +173,7 @@ static inline void *skb_gro_header(struct sk_buff *skb, ...@@ -172,7 +173,7 @@ static inline void *skb_gro_header(struct sk_buff *skb,
void *ptr; void *ptr;
ptr = skb_gro_header_fast(skb, offset); ptr = skb_gro_header_fast(skb, offset);
if (skb_gro_header_hard(skb, hlen)) if (!skb_gro_may_pull(skb, hlen))
ptr = skb_gro_header_slow(skb, hlen, offset); ptr = skb_gro_header_slow(skb, hlen, offset);
return ptr; return ptr;
} }
......
...@@ -700,7 +700,7 @@ static struct sk_buff *napi_frags_skb(struct napi_struct *napi) ...@@ -700,7 +700,7 @@ static struct sk_buff *napi_frags_skb(struct napi_struct *napi)
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
skb_gro_reset_offset(skb, hlen); skb_gro_reset_offset(skb, hlen);
if (unlikely(skb_gro_header_hard(skb, hlen))) { if (unlikely(!skb_gro_may_pull(skb, hlen))) {
eth = skb_gro_header_slow(skb, hlen, 0); eth = skb_gro_header_slow(skb, hlen, 0);
if (unlikely(!eth)) { if (unlikely(!eth)) {
net_warn_ratelimited("%s: dropping impossible skb from %s\n", net_warn_ratelimited("%s: dropping impossible skb from %s\n",
......
...@@ -351,7 +351,7 @@ static struct sk_buff *gue_gro_receive(struct sock *sk, ...@@ -351,7 +351,7 @@ static struct sk_buff *gue_gro_receive(struct sock *sk,
optlen = guehdr->hlen << 2; optlen = guehdr->hlen << 2;
len += optlen; len += optlen;
if (skb_gro_header_hard(skb, len)) { if (!skb_gro_may_pull(skb, len)) {
guehdr = skb_gro_header_slow(skb, len, off); guehdr = skb_gro_header_slow(skb, len, off);
if (unlikely(!guehdr)) if (unlikely(!guehdr))
goto out; goto out;
......
...@@ -174,7 +174,7 @@ static struct sk_buff *gre_gro_receive(struct list_head *head, ...@@ -174,7 +174,7 @@ static struct sk_buff *gre_gro_receive(struct list_head *head,
grehlen += GRE_HEADER_SECTION; grehlen += GRE_HEADER_SECTION;
hlen = off + grehlen; hlen = off + grehlen;
if (skb_gro_header_hard(skb, hlen)) { if (!skb_gro_may_pull(skb, hlen)) {
greh = skb_gro_header_slow(skb, hlen, off); greh = skb_gro_header_slow(skb, hlen, off);
if (unlikely(!greh)) if (unlikely(!greh))
goto out; goto out;
......
...@@ -204,7 +204,7 @@ struct sk_buff *tcp_gro_receive(struct list_head *head, struct sk_buff *skb) ...@@ -204,7 +204,7 @@ struct sk_buff *tcp_gro_receive(struct list_head *head, struct sk_buff *skb)
goto out; goto out;
hlen = off + thlen; hlen = off + thlen;
if (skb_gro_header_hard(skb, hlen)) { if (!skb_gro_may_pull(skb, hlen)) {
th = skb_gro_header_slow(skb, hlen, off); th = skb_gro_header_slow(skb, hlen, off);
if (unlikely(!th)) if (unlikely(!th))
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment