OSDN Git Service

ipv6: remove daddr temp buffer in __ip6_make_skb
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 27 Jan 2022 00:36:24 +0000 (00:36 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 28 Jan 2022 03:46:10 +0000 (19:46 -0800)
commitb60d4e58c615d36a6c4e1a374786826da893fcd0
treecbc5256ad4be1e76eb41273c972d409f8d7e9358
parent406c4a0af010b8714d18e4c89de5575e1d3888f8
ipv6: remove daddr temp buffer in __ip6_make_skb

ipv6_push_nfrag_opts() doesn't change passed daddr, and so
__ip6_make_skb() doesn't actually need to keep an on-stack copy of
fl6->daddr. Set initially final_dst to fl6->daddr,
ipv6_push_nfrag_opts() will override it if needed, and get rid of extra
copies.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/ip6_output.c