diff options
author | Kuniyuki Iwashima | 2024-06-04 09:52:39 -0700 |
---|---|---|
committer | Paolo Abeni | 2024-06-06 12:57:15 +0200 |
commit | 83690b82d228b3570565ebd0b41873933238b97f (patch) | |
tree | 9f413da3100800b7802347361c77333bce00a073 /Documentation/sphinx-static | |
parent | 45d872f0e65593176d880ec148f41ad7c02e40a7 (diff) |
af_unix: Use skb_queue_empty_lockless() in unix_release_sock().
If the socket type is SOCK_STREAM or SOCK_SEQPACKET, unix_release_sock()
checks the length of the peer socket's recvq under unix_state_lock().
However, unix_stream_read_generic() calls skb_unlink() after releasing
the lock. Also, for SOCK_SEQPACKET, __skb_try_recv_datagram() unlinks
skb without unix_state_lock().
Thues, unix_state_lock() does not protect qlen.
Let's use skb_queue_empty_lockless() in unix_release_sock().
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'Documentation/sphinx-static')
0 files changed, 0 insertions, 0 deletions