diff options
| author | Kuniyuki Iwashima <[email protected]> | 2025-07-02 22:35:13 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-07-09 01:05:25 +0000 |
| commit | b429a5ad19cb4efe63d18388a2a4deebcba742c6 (patch) | |
| tree | 5c76eaca5eec9fd983cb9f842db9efa82142dfbc /net/lapb/lapb_iface.c | |
| parent | Merge branch 'eth-fbnic-add-firmware-logging-support' (diff) | |
| download | kernel-b429a5ad19cb4efe63d18388a2a4deebcba742c6.tar.gz kernel-b429a5ad19cb4efe63d18388a2a4deebcba742c6.zip | |
af_unix: Don't hold unix_state_lock() in __unix_dgram_recvmsg().
When __skb_try_recv_datagram() returns NULL in __unix_dgram_recvmsg(),
we hold unix_state_lock() unconditionally.
This is because SOCK_SEQPACKET sk needs to return EOF in case its peer
has been close()d concurrently.
This behaviour totally depends on the timing of the peer's close() and
reading sk->sk_shutdown, and taking the lock does not play a role.
Let's drop the lock from __unix_dgram_recvmsg() and use READ_ONCE().
Signed-off-by: Kuniyuki Iwashima <[email protected]>
Reviewed-by: Willem de Bruijn <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/lapb/lapb_iface.c')
0 files changed, 0 insertions, 0 deletions
