mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
net: use indirect call helpers for sk->sk_prot->release_cb()
When adding sk->sk_prot->release_cb() call from __sk_flush_backlog() Paolo suggested using indirect call helpers to take care of CONFIG_RETPOLINE=y case. It turns out Google had such mitigation for years in release_sock(), it is time to make this public :) Suggested-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4fa5ce3e3a
commit
41862d12e7
@ -3003,7 +3003,9 @@ void __sk_flush_backlog(struct sock *sk)
|
||||
__release_sock(sk);
|
||||
|
||||
if (sk->sk_prot->release_cb)
|
||||
sk->sk_prot->release_cb(sk);
|
||||
INDIRECT_CALL_INET_1(sk->sk_prot->release_cb,
|
||||
tcp_release_cb, sk);
|
||||
|
||||
spin_unlock_bh(&sk->sk_lock.slock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__sk_flush_backlog);
|
||||
@ -3523,7 +3525,8 @@ void release_sock(struct sock *sk)
|
||||
__release_sock(sk);
|
||||
|
||||
if (sk->sk_prot->release_cb)
|
||||
sk->sk_prot->release_cb(sk);
|
||||
INDIRECT_CALL_INET_1(sk->sk_prot->release_cb,
|
||||
tcp_release_cb, sk);
|
||||
|
||||
sock_release_ownership(sk);
|
||||
if (waitqueue_active(&sk->sk_lock.wq))
|
||||
|
Loading…
Reference in New Issue
Block a user