From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967126AbbLQPoB (ORCPT ); Thu, 17 Dec 2015 10:44:01 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:49524 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966668AbbLQPn6 (ORCPT ); Thu, 17 Dec 2015 10:43:58 -0500 X-Sasl-enc: owK6u9jOGL5ouiZg7YhaRm/JcsHKYfW0r4jBGMcMhYu9 1450367036 Subject: Re: [PATCH] af_unix: Revert 'lock_interruptible' in stream receive code To: Rainer Weikusat References: <877fke6tqi.fsf@doppelsaurus.mobileactivedefense.com> <56727EE9.5020805@stressinduktion.org> <87a8p92iy2.fsf@doppelsaurus.mobileactivedefense.com> Cc: David Miller , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Al Viro From: Hannes Frederic Sowa Message-ID: <5672D83B.7000008@stressinduktion.org> Date: Thu, 17 Dec 2015 16:43:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <87a8p92iy2.fsf@doppelsaurus.mobileactivedefense.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17.12.2015 16:28, Rainer Weikusat wrote: > Hannes Frederic Sowa writes: >> On 16.12.2015 21:09, Rainer Weikusat wrote: >>> With b3ca9b02b00704053a38bfe4c31dbbb9c13595d0, the AF_UNIX SOCK_STREAM >>> receive code was changed from using mutex_lock(&u->readlock) to >>> mutex_lock_interruptible(&u->readlock) to prevent signals from being >>> delayed for an indefinite time if a thread sleeping on the mutex >>> happened to be selected for handling the signal. But this was never a >>> problem with the stream receive code (as opposed to its datagram >>> counterpart) as that never went to sleep waiting for new messages with the >>> mutex held and thus, wouldn't cause secondary readers to block on the >>> mutex waiting for the sleeping primary reader. As the interruptible >>> locking makes the code more complicated in exchange for no benefit, >>> change it back to using mutex_lock. >>> >>> Signed-off-by: Rainer Weikusat >>> --- >>> >>> Considering that the datagram receive routine also doesn't go the sleep >>> with the mutex held anymore, the 37ab4fa7844a044dc21fde45e2a0fc2f3c3b6490 >>> change to unix_autobind is now similarly purposeless. >> >> I wouldn't do this conversion, yet. There is still a deadlock lingering >> around which should be solved earlier: >> >> http://lists.openwall.net/netdev/2015/11/10/4 >> >> Unfortunately I haven't found a good way how to solve it, yet. > > Judging from the link, that's not related to the stream receive code. > No, but to commit 37ab4fa7844a044dc21fde45e2a0fc2f3c3b6490 where the mutexes of unix_bind and unix_autobind got changed. The unix_stream_read_generic conversion is fine. Acked-by: Hannes Frederic Sowa Thanks, Hannes