]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ipv6: add daddr/final storage in struct ipv6_pinfo
authorEric Dumazet <edumazet@google.com>
Fri, 6 Feb 2026 17:34:20 +0000 (17:34 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 11 Feb 2026 04:57:49 +0000 (20:57 -0800)
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>
include/linux/ipv6.h

index bdbd63f9a85e9fd03c4a6da1b967834c8437bad0..443053a76dcfdf16c069ca1eca488f36a06a8ca3 100644 (file)
@@ -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;