Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2041323rwb; Thu, 17 Nov 2022 05:55:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf7LwU1Cp94Xkt0j/v6eNNexY6dp9rGYxfli0hw/pIM3HeuGY4qRcGhp2YV/ZqFFBoMqcgA0 X-Received: by 2002:aa7:d1c5:0:b0:461:dd11:c1bd with SMTP id g5-20020aa7d1c5000000b00461dd11c1bdmr2133309edp.406.1668693314062; Thu, 17 Nov 2022 05:55:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668693314; cv=none; d=google.com; s=arc-20160816; b=jR5YY0MsEfMXaC4wnTEar7biaP7u71acw9CwRKxGS9iMbvTyirATD8727x1TTmYAhQ npYoWmUVrk3cLcT3HKj3PqohF4AwunCY0rJp3TbadftPrW1jdOWe7So8O/W44oHgrqM1 rE5bUSacs3p85yTjNrEnoXu7LKbIRS/Xiw77uViNMzzlAhjN9JgKknYhni4qCMBuAxGB lQI/KbOEpu11nAG5ikhOsrhhrJupBOrVXtTJiPDgwQPNB0X5jK5KJTvLHTDwwPudWOeI 2l+NXSTMCpN/88+5IDeRHfjmMdlMR7WDwEHROKZ8ShBk30y6l7riJOuEgxw6/cqEfvZl kaVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=SFinjv/Lv89hZJfU/3Pf+bsM4JbsHIQGR/s3iK3bOIk=; b=B5AeAyd1mAFGbUGDg6pcZncwLcyoH+hubUBkn9X/T8a5VDnoqFY09x9km6rQBRaZ4K EFdEJ8dSKMQ5uz5qUwe9kqsuREnJQ2echTYbnR7Y1oJzoPtpTTt8wrrNxVGy2FEZ+bR2 R6aUAmONWyR2D5/s1fwL9lxQVL7ZtIJFa1M+xNicSdSBbgwOkmb/t4bXAxg36cgeFcV3 Y6g7LXrXx78aW41AE1OKEf2E4AZLl2pWV8jvsVmnt5FNi10wFMEq+MoZzalh941bn70t lcf14xWTu5kmIPKuQBsBeAk4Dzy+rdlmfiGA1VqHCI5I2lbYcTDfDNz1mPaIsSedURYK h2ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OEwcX+iW; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hp11-20020a1709073e0b00b0079744630e4asi597728ejc.780.2022.11.17.05.54.48; Thu, 17 Nov 2022 05:55:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=OEwcX+iW; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240034AbiKQNxi (ORCPT + 99 others); Thu, 17 Nov 2022 08:53:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240215AbiKQNxY (ORCPT ); Thu, 17 Nov 2022 08:53:24 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2E4251C39 for ; Thu, 17 Nov 2022 05:53:21 -0800 (PST) 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 ams.source.kernel.org (Postfix) with ESMTPS id 9F694B81FB8 for ; Thu, 17 Nov 2022 13:53:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23CA7C433C1 for ; Thu, 17 Nov 2022 13:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668693199; bh=nskT2tP8NUFzeSciyMIfLU61mc2ruDj9SW1lHSw0PX0=; h=From:To:Subject:Date:From; b=OEwcX+iWutBdruhAFz20ysu22f5DK2j8ReNaoStT4bgqi46jFPD9+LiT+nPtbPhW/ gNe1KzSEC+DgDOrOF+UWO0DALA/tecVvdil5w9B6gQILhxO4UdcsDMUiiGMIN2N8JA UN2ABWJTkKFDpaYOHMAXJ5YOYfQQ7WixfE0EDwKg5nuOx69hKFOol8TLZhd7JQoe1D /OW5SJWXdJrvNAwHP9lVnF6kmJMT2tzrg0Xs6PGjAXwC6jqUrCYinyKyiHw6KmO3yh 4snmE0FAuS+wFNjEesv3wRujABDTmLVEI/M6Yf+wS5Y1GM8ppsuL+9iNqoqeVVFL/9 h+dPbV6f5wvnQ== From: trondmy@kernel.org To: linux-nfs@vger.kernel.org Subject: [PATCH] NFS: Fix a race in nfs_call_unlink() Date: Thu, 17 Nov 2022 08:47:13 -0500 Message-Id: <20221117134713.9069-2-trondmy@kernel.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Trond Myklebust We should check that the filehandles match before transferring the sillyrename data to the newly looked-up dentry in case the name was reused on the server. Signed-off-by: Trond Myklebust --- fs/nfs/unlink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c index 9697cd5d2561..150a953a8be9 100644 --- a/fs/nfs/unlink.c +++ b/fs/nfs/unlink.c @@ -139,6 +139,7 @@ static int nfs_call_unlink(struct dentry *dentry, struct inode *inode, struct nf */ spin_lock(&alias->d_lock); if (d_really_is_positive(alias) && + !nfs_compare_fh(NFS_FH(inode), NFS_FH(d_inode(alias))) && !(alias->d_flags & DCACHE_NFSFS_RENAMED)) { devname_garbage = alias->d_fsdata; alias->d_fsdata = data; -- 2.38.1