diff options
author | Kuniyuki Iwashima <kuniyu@amazon.com> | 2023-06-15 02:01:03 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-06-19 21:32:58 +0300 |
commit | ac9d8a66e41d553bf57fdffe88f59f1b1443191b (patch) | |
tree | d2df9fc23894927e548ee9b78a92e0a381ae97e8 /net/ipv6/rpl.c | |
parent | 9a94d764e9bc6ee4b9424acde77c959270e2ac7a (diff) | |
download | linux-ac9d8a66e41d553bf57fdffe88f59f1b1443191b.tar.xz |
ipv6: rpl: Remove pskb(_may)?_pull() in ipv6_rpl_srh_rcv().
As Eric Dumazet pointed out [0], ipv6_rthdr_rcv() pulls these data
- Segment Routing Header : 8
- Hdr Ext Len : skb_transport_header(skb)[1] << 3
needed by ipv6_rpl_srh_rcv(). We can remove pskb_may_pull() and
replace pskb_pull() with skb_pull() in ipv6_rpl_srh_rcv().
Link: https://lore.kernel.org/netdev/CANn89iLboLwLrHXeHJucAqBkEL_S0rJFog68t7wwwXO-aNf5Mg@mail.gmail.com/ [0]
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6/rpl.c')
-rw-r--r-- | net/ipv6/rpl.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/ipv6/rpl.c b/net/ipv6/rpl.c index d1876f192225..e186998bfbf7 100644 --- a/net/ipv6/rpl.c +++ b/net/ipv6/rpl.c @@ -29,13 +29,6 @@ static void *ipv6_rpl_segdata_pos(const struct ipv6_rpl_sr_hdr *hdr, int i) return (void *)&hdr->rpl_segdata[i * IPV6_PFXTAIL_LEN(hdr->cmpri)]; } -size_t ipv6_rpl_srh_size(unsigned char n, unsigned char cmpri, - unsigned char cmpre) -{ - return sizeof(struct ipv6_rpl_sr_hdr) + (n * IPV6_PFXTAIL_LEN(cmpri)) + - IPV6_PFXTAIL_LEN(cmpre); -} - void ipv6_rpl_srh_decompress(struct ipv6_rpl_sr_hdr *outhdr, const struct ipv6_rpl_sr_hdr *inhdr, const struct in6_addr *daddr, unsigned char n) |