net: unix: non blocking recvmsg() should not return -EINTR
authorEric Dumazet <edumazet@google.com>
Wed, 26 Mar 2014 01:42:27 +0000 (18:42 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Mar 2014 21:05:40 +0000 (17:05 -0400)
commitde1443916791d75fdd26becb116898277bb0273f
tree26fa8bd2f7ea36df46746a2b57e48f3247733d13
parentdc0fe58f356b109c662c6c85562460b0e8be9f5f
net: unix: non blocking recvmsg() should not return -EINTR

Some applications didn't expect recvmsg() on a non blocking socket
could return -EINTR. This possibility was added as a side effect
of commit b3ca9b02b00704 ("net: fix multithreaded signal handling in
unix recv routines").

To hit this bug, you need to be a bit unlucky, as the u->readlock
mutex is usually held for very small periods.

Fixes: b3ca9b02b00704 ("net: fix multithreaded signal handling in unix recv routines")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Rainer Weikusat <rweikusat@mobileactivedefense.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/unix/af_unix.c