]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Apr 2014 13:47:18 +0000 (06:47 -0700)
commita0110722e14d34d8ffbc273f209db1c86fb26de8
tree7201175fdbf773c8532c276560a9d80811e3ae9c
parent30183acef6ff2c3444de7a542f6f2748205ab21d
net: unix: non blocking recvmsg() should not return -EINTR

[ Upstream commit de1443916791d75fdd26becb116898277bb0273f ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/unix/af_unix.c