When skbuff is fragment, we exit immediately and leave ip_hdrlen() as
unused. And remove the unnecessary local variable fragment.

Signed-off-by: Miaohe Lin <linmia...@huawei.com>
---
 net/core/skbuff.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 4dc92290becd..0b24aed04060 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -4843,28 +4843,20 @@ static __sum16 *skb_checksum_setup_ip(struct sk_buff 
*skb,
 static int skb_checksum_setup_ipv4(struct sk_buff *skb, bool recalculate)
 {
        unsigned int off;
-       bool fragment;
        __sum16 *csum;
        int err;
 
-       fragment = false;
-
        err = skb_maybe_pull_tail(skb,
                                  sizeof(struct iphdr),
                                  MAX_IP_HDR_LEN);
        if (err < 0)
                goto out;
 
-       if (ip_is_fragment(ip_hdr(skb)))
-               fragment = true;
-
-       off = ip_hdrlen(skb);
-
        err = -EPROTO;
-
-       if (fragment)
+       if (ip_is_fragment(ip_hdr(skb)))
                goto out;
 
+       off = ip_hdrlen(skb);
        csum = skb_checksum_setup_ip(skb, ip_hdr(skb)->protocol, off);
        if (IS_ERR(csum))
                return PTR_ERR(csum);
-- 
2.19.1

Reply via email to