diff options
author | Eric Dumazet <edumazet@google.com> | 2020-06-19 22:12:35 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-06-21 03:47:53 +0300 |
commit | dd2e0b86fc4ee146ac8f3275833d0187efeb950a (patch) | |
tree | 6c91f581ec5db35d4d77554be9d293b2ae57a776 /net/ipv6/tcp_ipv6.c | |
parent | 05e22e8395058745bd0312bc488b522197852aff (diff) | |
download | linux-dd2e0b86fc4ee146ac8f3275833d0187efeb950a.tar.xz |
tcp: remove indirect calls for icsk->icsk_af_ops->send_check
Mitigate RETPOLINE costs in __tcp_transmit_skb()
by using INDIRECT_CALL_INET() wrapper.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index f67d45ff00b4..4502db706f75 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1811,6 +1811,13 @@ static struct timewait_sock_ops tcp6_timewait_sock_ops = { .twsk_destructor = tcp_twsk_destructor, }; +INDIRECT_CALLABLE_SCOPE void tcp_v6_send_check(struct sock *sk, struct sk_buff *skb) +{ + struct ipv6_pinfo *np = inet6_sk(sk); + + __tcp_v6_send_check(skb, &np->saddr, &sk->sk_v6_daddr); +} + const struct inet_connection_sock_af_ops ipv6_specific = { .queue_xmit = inet6_csk_xmit, .send_check = tcp_v6_send_check, |