ipv6: exthdrs: Reload hdr only when needed in ipv6_srh_rcv().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Wed, 14 Jun 2023 23:01:06 +0000 (16:01 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 19 Jun 2023 18:32:58 +0000 (11:32 -0700)
We need not reload hdr in ipv6_srh_rcv() unless we call
pskb_expand_head().

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/exthdrs.c

index e62e26a..dd23531 100644 (file)
@@ -440,9 +440,9 @@ looped_back:
                        kfree_skb(skb);
                        return -1;
                }
-       }
 
-       hdr = (struct ipv6_sr_hdr *)skb_transport_header(skb);
+               hdr = (struct ipv6_sr_hdr *)skb_transport_header(skb);
+       }
 
        hdr->segments_left--;
        addr = hdr->segments + hdr->segments_left;