ipv6: exthdrs: Replace pskb_pull() with skb_pull() in ipv6_srh_rcv().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Wed, 14 Jun 2023 23:01:05 +0000 (16:01 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 19 Jun 2023 18:32:58 +0000 (11:32 -0700)
ipv6_rthdr_rcv() pulls these data

  - Segment Routing Header : 8
  - Hdr Ext Len            : skb_transport_header(skb)[1] << 3

needed by ipv6_srh_rcv(), so pskb_pull() in ipv6_srh_rcv() never
fails and can be replaced with skb_pull().

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

index 6259e90..e62e26a 100644 (file)
@@ -402,11 +402,7 @@ looped_back:
 
                        skb_postpull_rcsum(skb, skb_network_header(skb),
                                           skb_network_header_len(skb));
-
-                       if (!pskb_pull(skb, offset)) {
-                               kfree_skb(skb);
-                               return -1;
-                       }
+                       skb_pull(skb, offset);
                        skb_postpull_rcsum(skb, skb_transport_header(skb),
                                           offset);