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 --- include/linux/ipv6.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 20aae8357dd151e8c7d6972f41e77cebf1379177..75b98d4849d66b167376769a25bb752d8979c8b5 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -209,6 +209,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; -- 2.53.0.rc2.204.g2597b5adb4-goog