From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934354AbbLQJWz (ORCPT ); Thu, 17 Dec 2015 04:22:55 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60004 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933374AbbLQJWw (ORCPT ); Thu, 17 Dec 2015 04:22:52 -0500 X-Sasl-enc: RlSYkIitFjPzDtuQL+HnusEoNvZIqiNrpwkwm65eon9A 1450344171 Subject: Re: [PATCH] af_unix: Revert 'lock_interruptible' in stream receive code To: Rainer Weikusat , David Miller References: <877fke6tqi.fsf@doppelsaurus.mobileactivedefense.com> Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Al Viro From: Hannes Frederic Sowa X-Enigmail-Draft-Status: N1110 Message-ID: <56727EE9.5020805@stressinduktion.org> Date: Thu, 17 Dec 2015 10:22:49 +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: <877fke6tqi.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 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. Thanks, Hannes