summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilov@microsoft.com>2019-01-10 11:27:28 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-16 22:04:30 +0100
commitd2f76f6f9fa963d337e72616f6e06b8bbac5eb7f (patch)
treeaaed923103a80dbf215bacc69ca2ea4cc709d159
parentc3606c64678369dc108f397109569cfa0ce0c101 (diff)
downloadlinux-stable-d2f76f6f9fa963d337e72616f6e06b8bbac5eb7f.tar.gz
linux-stable-d2f76f6f9fa963d337e72616f6e06b8bbac5eb7f.tar.bz2
linux-stable-d2f76f6f9fa963d337e72616f6e06b8bbac5eb7f.zip
CIFS: Do not hide EINTR after sending network packets
commit ee13919c2e8d1f904e035ad4b4239029a8994131 upstream. Currently we hide EINTR code returned from sock_sendmsg() and return 0 instead. This makes a caller think that we successfully completed the network operation which is not true. Fix this by properly returning EINTR to callers. Cc: <stable@vger.kernel.org> Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/cifs/transport.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index a610381f8140..005c2af9d696 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -378,7 +378,7 @@ smbd_done:
if (rc < 0 && rc != -EINTR)
cifs_dbg(VFS, "Error %d sending data on socket to server\n",
rc);
- else
+ else if (rc > 0)
rc = 0;
return rc;