Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1087188lqe; Sun, 7 Apr 2024 19:12:14 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV5cjyTgiD0C00mkc2IVOWbl4gxR0a9qTvZbuwKaSNhbUzWMqKc0eRnOf2ZD8FwyhaSIICqeM7q5wqL/qY4LR+tPExSFcF/MNYyBagIrQ== X-Google-Smtp-Source: AGHT+IFVWanh9MfnUlQLs5j24rlb26Fu3BfqjKQmcGk+cRhf06kVsyg+hoWyL+w8sna2eiJ+rfo1 X-Received: by 2002:a17:907:2d28:b0:a51:bc68:d61e with SMTP id gs40-20020a1709072d2800b00a51bc68d61emr3572355ejc.30.1712542334804; Sun, 07 Apr 2024 19:12:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712542334; cv=pass; d=google.com; s=arc-20160816; b=DOscCnjYJw+KI4G3NPSky3EnHkXaCSlgQsr9CG5WEMaxBoIavJC4Vt4G1j18wv83LG y89j5NK/nMCnS1h3sn3/s4wlD9YFPe57v8pjkpJFO1QnCfj4MmtAuT93k3syYhOzof+k FG8vU43Tr1TeHDWPoPcj+Uch+tkd1a/7mhTf87bxNpw/F62gxPdvwrckmuOJrd2EvwrL y0LgoqE3iE6JbNpCB8iF3DMF5TlHVqmmQxr3LvlLe22jTSRSJpApIZvUnudezNQXDq1Q wHafgaM6S4o0RL4eAQ44w/QmwSCrJ6cAJKlZAwh/pCw+sP4Xp69jJ9IbxLWDydgmUTuY T2gQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature:dkim-signature:dkim-signature:dkim-signature; bh=iGs5rO14bJ90XHrYDHqC8Bga0bIaEP4t13qlhqHouak=; fh=oGCWKUgN5rqvEqhxhGaFnCKhx0upqxg87fHnuYmJPFg=; b=kUDQD+MBVqjFS2bnCjoK8/aKt44vi7qMn/X/nuSdU8RXNfyva37fk2mYBL+LHHdFxt 7y+e0L3dIFMJjwkSXg/wYnVH0crmf3JqIUfR7mm3JXISt8YjgHg9Gev2scy0wI2Tviyd JxEO/005XnaStn9C11cR0Z7CKhV8devnup8AIsAIDDjPRuhvNCU83sVAw4zvR0neGAvG G5v73EH3crXVfTVgXbkNepoKWFirNKzMKWIKz5CeJZzyR7/n/fxwsR6VtgaqUzLBJjLe v5J5bTp9A1miWvswVjFqU4EvOzGaNQVhOh2XbT4sWKHT4xnpT1PX+/A8cVZIIWaXAipG Zzag==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=x9qZHUdp; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=TYSQjRmN; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1 spf=pass spfdomain=suse.de dkim=pass dkdomain=suse.de dkim=pass dkdomain=suse.de dmarc=pass fromdomain=suse.de); spf=pass (google.com: domain of linux-nfs+bounces-2705-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2705-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id jg38-20020a170907972600b00a46cc4daef2si3295985ejc.3.2024.04.07.19.12.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Apr 2024 19:12:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs+bounces-2705-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=x9qZHUdp; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=TYSQjRmN; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1 spf=pass spfdomain=suse.de dkim=pass dkdomain=suse.de dkim=pass dkdomain=suse.de dmarc=pass fromdomain=suse.de); spf=pass (google.com: domain of linux-nfs+bounces-2705-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2705-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 7FA201F2159C for ; Mon, 8 Apr 2024 02:12:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7354115C3; Mon, 8 Apr 2024 02:12:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="x9qZHUdp"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="l4zXBeYx"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="TYSQjRmN"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="aY9/kA6G" X-Original-To: linux-nfs@vger.kernel.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B03C515A8 for ; Mon, 8 Apr 2024 02:12:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712542332; cv=none; b=pwH+MPOVlO0WuK7MXQm4xt0YsAChbDdxQF8elk7IZ0rWgPNFz1JNYTcQT1WV2AlTIwIeH8t8Vw5XvXwiIu5Ufz8saJzoL8GFdn9vwQs0WaqZyw62lE2QSnfgodsM5bluj8ACLfJAzdjjVDlK1LuDwUSpT90d/SmmEOz6lOviwBQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712542332; c=relaxed/simple; bh=sHgcz6t1Lmtsb8tjKsX+5WWSSsEzf3on3CiiJuSdBEg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=sqPnuRVA47BY5Gm/+Vghr/oV9jtGbYeFLD6ONQaTQJeoSS4AAB0bke9gb3A9OMI+aj2sez26s5PiG57BfeHmOznzKaBbK5DSXsLueT0aiJa81hyCta1Hck41xwIIx9necS7thNuTen5GvL7Rn/utPDWbY1Q6zS7hpRepyuaT0nQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=x9qZHUdp; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=l4zXBeYx; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=TYSQjRmN; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=aY9/kA6G; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id EF5DC21753; Mon, 8 Apr 2024 02:12:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712542329; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=iGs5rO14bJ90XHrYDHqC8Bga0bIaEP4t13qlhqHouak=; b=x9qZHUdpy7+ZOJoBG2yH0XlsxpftVjNQIGMi3Me+SC6SEQ1JzxEnjZG8Dh2WJzeEnbaqVY ZXUiU5ON4y/dqljD3nP/Iyod44Hbc606sEI8h9xp1mNsbckq+WKGpDpnJtP5oCaJV0B1xi g0sBRiYRH6jK55q4PKWjX/JH9+RcTSU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712542329; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=iGs5rO14bJ90XHrYDHqC8Bga0bIaEP4t13qlhqHouak=; b=l4zXBeYxFN3C0DtGgv3Kauj2kH8ktIf17cmqGp98/qZOv41r45UncMz1chHFNaoxBdGQ46 p77DtJsOEC13BOAw== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=TYSQjRmN; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b="aY9/kA6G" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712542328; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=iGs5rO14bJ90XHrYDHqC8Bga0bIaEP4t13qlhqHouak=; b=TYSQjRmN87kBvdITIRVyDrBstCRiHmLMywYr4AceCagQb46EGJkNKQibk0ELVHRvNSkerR jFsTH3xyT7rjEvVghZSs9Fkg37GfV1m4v/GSzUMLLSb4qkMrWEhHD/8+SX1gYt42Dc0NZb r2hN9TqedGLfOvXko8xdZjlKevg3oDA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712542328; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=iGs5rO14bJ90XHrYDHqC8Bga0bIaEP4t13qlhqHouak=; b=aY9/kA6GEpsz7A94XvR5zk1h0+y9Pl54nAqjc8BQPL9wn61EbrxB9P7dRpJ+SP324XztAr SciCsPD5YracWTAQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5696D13796; Mon, 8 Apr 2024 02:12:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([10.150.64.162]) by imap1.dmz-prg2.suse.org with ESMTPSA id I++kOnVSE2brEQAAD6G6ig (envelope-from ); Mon, 08 Apr 2024 02:12:05 +0000 From: NeilBrown To: Chuck Lever , Jeff Layton Cc: linux-nfs@vger.kernel.org, Olga Kornievskaia , Dai Ngo , Tom Talpey Subject: [PATCH 0/4 v4] nfsd: fix deadlock in move_to_close_lru() Date: Mon, 8 Apr 2024 12:09:14 +1000 Message-ID: <20240408021156.6104-1-neilb@suse.de> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Level: X-Spamd-Result: default: False [-2.71 / 50.00]; BAYES_HAM(-1.70)[93.12%]; NEURAL_HAM_LONG(-1.00)[-1.000]; DWL_DNSWL_LOW(-1.00)[suse.de:dkim]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:dkim]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DKIM_TRACE(0.00)[suse.de:+] X-Rspamd-Action: no action X-Rspamd-Queue-Id: EF5DC21753 X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spam-Flag: NO X-Spam-Score: -2.71 This series replaces nfsd: drop st_mutex and rp_mutex before calling move_to_close_lru() which was recently dropped as a problem was found. The first two patches rearrange code without important functional change. The last two address the two relaced problems of two different mutexes which are held while waiting and can each trigger a deadlock. This is against v6.9-rc2. Thanks, NeilBrown [PATCH 1/4] nfsd: perform all find_openstateowner_str calls in the [PATCH 2/4] nfsd: move nfsd4_cstate_assign_replay() earlier in open [PATCH 3/4] nfsd: replace rp_mutex to avoid deadlock in [PATCH 4/4] nfsd: drop st_mutex before calling move_to_close_lru()