mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-26 14:17:26 -04:00
af_unix: Avoid socket->sk NULL OOPS in stream connect security hooks.
unix_release() can asynchornously set socket->sk to NULL, and it does so without holding the unix_state_lock() on "other" during stream connects. However, the reverse mapping, sk->sk_socket, is only transitioned to NULL under the unix_state_lock(). Therefore make the security hooks follow the reverse mapping instead of the forward mapping. Reported-by: Jeremy Fitzhardinge <jeremy@goop.org> Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
44b8288308
commit
3610cda53f
6 changed files with 22 additions and 24 deletions
|
@ -1157,7 +1157,7 @@ restart:
|
|||
goto restart;
|
||||
}
|
||||
|
||||
err = security_unix_stream_connect(sock, other->sk_socket, newsk);
|
||||
err = security_unix_stream_connect(sk, other, newsk);
|
||||
if (err) {
|
||||
unix_state_unlock(sk);
|
||||
goto out_unlock;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue