]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ipv6: do not use skb_header_pointer() in icmpv6_filter()
authorEric Dumazet <edumazet@google.com>
Thu, 5 Feb 2026 21:19:09 +0000 (21:19 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 7 Feb 2026 04:34:20 +0000 (20:34 -0800)
commita14d9317904559a6948946de05bf9fb6f2a34fba
tree56d0e7d77a1e5dba39e57529cf41053e793d0120
parentb6e2db0ed9b9c219ff6d4d23f7436dbb47e5d7f1
ipv6: do not use skb_header_pointer() in icmpv6_filter()

Prefer pskb_may_pull() to avoid a stack canary in raw6_local_deliver().

Note: skb->head can change, hence we reload ip6h pointer in
ipv6_raw_deliver()

$ scripts/bloat-o-meter -t vmlinux.old vmlinux.new
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-86 (-86)
Function                                     old     new   delta
raw6_local_deliver                           780     694     -86
Total: Before=24889784, After=24889698, chg -0.00%

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260205211909.4115285-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/raw.c