From nobody Mon Feb 9 22:59:45 2026 Received: from flow-a6-smtp.messagingengine.com (flow-a6-smtp.messagingengine.com [103.168.172.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02AF6352C48; Wed, 4 Feb 2026 05:08:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770181734; cv=none; b=SXbM8YQ0+n+cnnymRzle9DbYpy9Cm540NJXeXWvrKVTFgwTJ1Vq5e4FyFqrlfiwrn/RsRVAq5pNmuVeAlOQUOk5DsmkvIBlmVlMAaXxqcE9XuwXXlI0Z7wW6kuK6kNYdmCxdJWM34wHiU1Pn4EJdUs9a4CYSt+WaWQT81IGKnYw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770181734; c=relaxed/simple; bh=qplDwUllsW2g+2INEuHLvBwHd3Fd/OhHhjHp2RMiR8E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QUd1X1mK0GDRlWGj2fT5gUylRQZn/XLA9h1pKPVPjdKfGYBsPiNkb7YpQT61HCiaxpq4x10EHNrcRkEOSrKJX+FUlfviY6UHq9lpg4u9DixF3cxPySYmBwkcHaebppcDcqJkaJXFKNeXXZz9O42jY0zcg1uuLXE9i30MB9h1I/c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ownmail.net; spf=pass smtp.mailfrom=ownmail.net; dkim=pass (2048-bit key) header.d=ownmail.net header.i=@ownmail.net header.b=OM3atnOE; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=NsdEeoqn; arc=none smtp.client-ip=103.168.172.141 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ownmail.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ownmail.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ownmail.net header.i=@ownmail.net header.b="OM3atnOE"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="NsdEeoqn" Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailflow.phl.internal (Postfix) with ESMTP id 4795D138078E; Wed, 4 Feb 2026 00:08:53 -0500 (EST) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Wed, 04 Feb 2026 00:08:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ownmail.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:subject:subject:to:to; s=fm3; t=1770181733; x=1770188933; bh=dlJn5fjDHHJoTWsI4P2Q723YQf/tI/C5cM/SmaJ+5tY=; b= OM3atnOEau3pjHPWUS+XNXAPWU0+DV5lW/4kD8G68mLyz/jBiyKMW8654CvgrsQu Ijpet03LuJBeR55yOqREIAsWOxI9GQaW7t+8u6Qmu5RxeyGozk/Qyb5xPcO0CVcA P65B30oW14XFWXyRseJkx4GgizLj9a3MviH8mX8Tho+baH/UtwIuQJGl4pVDJ9MS tjPEnhIOboaLjurukC5XbQkanfCBYf/J9Q2T7jbcTK8BImTMgk0rDzTY9HPW31Ph IkBM5emdXLol0waOIhNv2DPN9co1TDkKlj1AXt8uwBnq0Du+FbYLtU0Ubz4E/uh9 D8kBSXMnhsFiP+T/0usRQw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1770181733; x=1770188933; bh=d lJn5fjDHHJoTWsI4P2Q723YQf/tI/C5cM/SmaJ+5tY=; b=NsdEeoqnXG043UXih 3duarZcI3Q0aOWXv42GjSOOhBCMB57FsVmsHwlxXxSfmCVDHUrAt9r9T4MNY503h qIGcw/Gy/oir7FqqmTI0PdYx6bgpriKzQ+T7F+gao2JFP93fgWjkGDTin0hOLZHn CufXI7zEq+57hVdZ3nBoUAlJM5Je7RTiYlSeLpK8Hz5Wp7AVTOmZ1kZYXobHQpyk OHMfcpC/KMA6+JYGw7hIK8hZg40uYxgIjxQWLPaUnuwc1mg2wRYJMeL6bgaX57bK cAW+yKyHR+B6IIKIW0N2FV5yfh23VDXScApj/g4yceUzHB1WROEO8tqMTU33qRDC VRpPg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddukedukeeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvvefufffkofgjfhhrggfgsedtkeertdertddtnecuhfhrohhmpefpvghilheu rhhofihnuceonhgvihhlsgesohifnhhmrghilhdrnhgvtheqnecuggftrfgrthhtvghrnh epveevkeffudeuvefhieeghffgudektdelkeejiedtjedugfeukedvkeffvdefvddunecu vehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepnhgvihhlsg esohifnhhmrghilhdrnhgvthdpnhgspghrtghpthhtohepvddupdhmohguvgepshhmthhp ohhuthdprhgtphhtthhopehvihhrohesiigvnhhivhdrlhhinhhugidrohhrghdruhhkpd hrtghpthhtohepshgvlhhinhhugiesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphht thhopehlihhnuhigqdhunhhiohhnfhhssehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtg hpthhtoheplhhinhhugidqshgvtghurhhithihqdhmohguuhhlvgesvhhgvghrrdhkvghr nhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdhnfhhssehvghgvrhdrkhgvrhhnvg hlrdhorhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhn vghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqfhhsuggvvhgvlhesvhhgvghrrdhkvg hrnhgvlhdrohhrghdprhgtphhtthhopehmihhklhhoshesshiivghrvgguihdrhhhupdhr tghpthhtohepjhgrtghksehsuhhsvgdrtgii X-ME-Proxy: Feedback-ID: iab3e480c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 4 Feb 2026 00:08:47 -0500 (EST) From: NeilBrown To: Christian Brauner , Alexander Viro , David Howells , Jan Kara , Chuck Lever , Jeff Layton , Miklos Szeredi , Amir Goldstein , John Johansen , Paul Moore , James Morris , "Serge E. Hallyn" , Stephen Smalley Cc: linux-kernel@vger.kernel.org, netfs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com, linux-security-module@vger.kernel.org, selinux@vger.kernel.org Subject: [PATCH 06/13] nfsd: switch purge_old() to use start_removing_noperm() Date: Wed, 4 Feb 2026 15:57:50 +1100 Message-ID: <20260204050726.177283-7-neilb@ownmail.net> X-Mailer: git-send-email 2.50.0.107.gf914562f5916.dirty In-Reply-To: <20260204050726.177283-1-neilb@ownmail.net> References: <20260204050726.177283-1-neilb@ownmail.net> Reply-To: NeilBrown Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: NeilBrown Rather than explicit locking, use the start_removing_noperm() and end_removing() wrappers. This was not done with other start_removing changes due to conflicting in-flight patches. Signed-off-by: NeilBrown Reviewed-by: Jeff Layton --- fs/nfsd/nfs4recover.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 441dfbfe2d2b..52fbe723a3c8 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -351,16 +351,14 @@ purge_old(struct dentry *parent, char *cname, struct = nfsd_net *nn) if (nfs4_has_reclaimed_state(name, nn)) goto out_free; =20 - inode_lock_nested(d_inode(parent), I_MUTEX_PARENT); - child =3D lookup_one(&nop_mnt_idmap, &QSTR(cname), parent); + child =3D start_removing_noperm(parent, &QSTR(cname)); if (!IS_ERR(child)) { status =3D vfs_rmdir(&nop_mnt_idmap, d_inode(parent), child, NULL); if (status) printk("failed to remove client recovery directory %pd\n", child); - dput(child); } - inode_unlock(d_inode(parent)); + end_removing(child); =20 out_free: kfree(name.data); --=20 2.50.0.107.gf914562f5916.dirty