Thread (7 messages) flat view 7 messages, 3 authors, 2015-05-22

Re: net/unix: sk_socket can disappear when state is unlocked

From: Mark Salyzyn <hidden>
Date: 2015-05-22 16:24:31
Also in: lkml

On 05/22/2015 08:35 AM, Hannes Frederic Sowa wrote:
I still wonder if we need to actually recheck the condition and not
simply break out of unix_stream_data_wait:

We return to the unix_stream_recvmsg loop and recheck the
sk_receive_queue. At this point sk_receive_queue is not really protected
with unix_state_lock against concurrent modification with unix_release,
as such we could end up concurrently dequeueing packets if socket is
DEAD.
sock destroy(sic) is called before sock_orphan which sets SOCK_DEAD, so 
the receive queue has already been drained.

Sincerely -- Mark Salyzyn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help