From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2054AECAAD3 for ; Wed, 14 Sep 2022 09:12:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230517AbiINJMt (ORCPT ); Wed, 14 Sep 2022 05:12:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230267AbiINJMT (ORCPT ); Wed, 14 Sep 2022 05:12:19 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 280767A75D; Wed, 14 Sep 2022 02:05:29 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DCFA3619FC; Wed, 14 Sep 2022 09:04:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F452C433D6; Wed, 14 Sep 2022 09:04:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1663146294; bh=hCcFCb8l7C4Y6BwxiwyVJY0MfVJ1I+gFMIE/QrRsPnk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Nz6FL7JC0w5muyX0xexg2LZKKt5DCAmNrGVGx3pet2qdgwpFandYFIGqJGXpMy0Et 98hZyZLxoJ+sJNdi+VCeWGvVybC4QvVmNZYGmfrGGmkeu4hlmnWxKEYc16dqB/IDB5 MqJ+Z9tREaD/B1s4LfvpNrBArelPWTm9zEDJfiULQcHGw4f9Ata0cjCu7jMZRa18W8 95m0cs2+7kINzq/wEZf21EPNLJvsRhsR4wwzPkGuihr3Pd8N+awL6uG1PG/Sd1XU6r n/97zloAZinxXWjgRiz66CmBentL75Dj6wnbb/FnZxZ/BOU8DJ4OET/AtTXZdCrvvn sqw42ttf8YA3w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: David Howells , Sasha Levin , marc.dionne@auristor.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, linux-afs@lists.infradead.org, netdev@vger.kernel.org Subject: [PATCH AUTOSEL 4.19 3/9] rxrpc: Fix local destruction being repeated Date: Wed, 14 Sep 2022 05:04:37 -0400 Message-Id: <20220914090445.471489-3-sashal@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220914090445.471489-1-sashal@kernel.org> References: <20220914090445.471489-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: David Howells [ Upstream commit d3d863036d688313f8d566b87acd7d99daf82749 ] If the local processor work item for the rxrpc local endpoint gets requeued by an event (such as an incoming packet) between it getting scheduled for destruction and the UDP socket being closed, the rxrpc_local_destroyer() function can get run twice. The second time it can hang because it can end up waiting for cleanup events that will never happen. Signed-off-by: David Howells Signed-off-by: Sasha Levin --- net/rxrpc/local_object.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/rxrpc/local_object.c b/net/rxrpc/local_object.c index fe190a6918727..5a01479aae3f3 100644 --- a/net/rxrpc/local_object.c +++ b/net/rxrpc/local_object.c @@ -452,6 +452,9 @@ static void rxrpc_local_processor(struct work_struct *work) container_of(work, struct rxrpc_local, processor); bool again; + if (local->dead) + return; + trace_rxrpc_local(local->debug_id, rxrpc_local_processing, atomic_read(&local->usage), NULL); -- 2.35.1