From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:59701 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751723AbcAXVk0 (ORCPT ); Sun, 24 Jan 2016 16:40:26 -0500 Subject: Patch "af_unix: fix incorrect revert of 'lock_interruptible' in stream receive code" has been added to the 3.10-stable tree To: w@1wt.eu, sultanqasim@gmail.com Cc: , From: Date: Sun, 24 Jan 2016 13:40:25 -0800 Message-ID: <145367162525216@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled af_unix: fix incorrect revert of 'lock_interruptible' in stream receive code to the 3.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: af_unix-fix-incorrect-revert-of-lock_interruptible-in-stream.patch and it can be found in the queue-3.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From 77f6e82adf349cbccf7e2ec7601b25c994e0b483 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 24 Jan 2016 09:19:57 +0100 Subject: af_unix: fix incorrect revert of 'lock_interruptible' in stream receive code From: Willy Tarreau As reported by Sultan Qasim, commit 3822b5c ("af_unix: Revert 'lock_interruptible' in stream receive code") was accidently applied at the wrong place in the backport that appeared in 3.10.95, it affected unix_dgram_recvmsg() instead of unix_stream_recvmsg() due to now similar code sections there. The dgram part needs to remain but the stream part needs to be removed. Reported-By: Sultan Qasim Fixes: 3a57e78 (3.10.95) Signed-off-by: Willy Tarreau --- net/unix/af_unix.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -1934,7 +1934,14 @@ static int unix_dgram_recvmsg(struct kio if (flags&MSG_OOB) goto out; - mutex_lock(&u->readlock); + err = mutex_lock_interruptible(&u->readlock); + if (unlikely(err)) { + /* recvmsg() in non blocking mode is supposed to return -EAGAIN + * sk_rcvtimeo is not honored by mutex_lock_interruptible() + */ + err = noblock ? -EAGAIN : -ERESTARTSYS; + goto out; + } skip = sk_peek_offset(sk, flags); @@ -2083,14 +2090,7 @@ static int unix_stream_recvmsg(struct ki memset(&tmp_scm, 0, sizeof(tmp_scm)); } - err = mutex_lock_interruptible(&u->readlock); - if (unlikely(err)) { - /* recvmsg() in non blocking mode is supposed to return -EAGAIN - * sk_rcvtimeo is not honored by mutex_lock_interruptible() - */ - err = noblock ? -EAGAIN : -ERESTARTSYS; - goto out; - } + mutex_lock(&u->readlock); do { int chunk; Patches currently in stable-queue which might be from w@1wt.eu are queue-3.10/af_unix-fix-incorrect-revert-of-lock_interruptible-in-stream.patch