summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2026-02-06 17:34:20 +0000
committerJakub Kicinski <kuba@kernel.org>2026-02-10 20:57:49 -0800
commit03ff0cb1a9269a12c648e69e8b6ae6c2a723977c (patch)
tree9829af6e540772e4da735d68be6d1f899346171e /include/linux
parent792aaea994537daa78f31a86c948ccbefa8f4706 (diff)
ipv6: add daddr/final storage in struct ipv6_pinfo
After commit b409a7f7176b ("ipv6: colocate inet6_cork in inet_cork_full") we have room in ipv6_pinfo to hold daddr/final in case they need to be populated in fl6_update_dst() calls. This will allow stack canary removal in IPv6 tx fast paths. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20260206173426.1638518-2-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ipv6.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index bdbd63f9a85e..443053a76dcf 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -230,6 +230,10 @@ struct ipv6_fl_socklist;
struct ipv6_pinfo {
/* Used in tx path (inet6_csk_route_socket(), ip6_xmit()) */
struct in6_addr saddr;
+ union {
+ struct in6_addr daddr;
+ struct in6_addr final;
+ };
__be32 flow_label;
u32 dst_cookie;
struct ipv6_txoptions __rcu *opt;