Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3211572pxb; Mon, 9 Nov 2020 05:42:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMocpC/FJkWmWx440djM35enZ1wGX628RLlM3xauQrMgfBuxcRN5w8K/wL/5VhnRESnYwe X-Received: by 2002:a05:6402:1714:: with SMTP id y20mr6321316edu.306.1604929367427; Mon, 09 Nov 2020 05:42:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604929367; cv=none; d=google.com; s=arc-20160816; b=Fn33QMxed7XvVThyjKbpiXwO/VDjNbUx4wsNSUrbsv9FW9bUFwc/MezSB4U/v/PAtp Uv0kFkIXrvTUSRTFjPUQNuYj4SbgIy6gxBnov4iUnxCcnFEMQ1CrLP4GBKCMc1/h5AeR qtlR1balO2g3fOE9OmQYTuGfh96xEsnNcGB14AnXMSxYWPWJeHB+pPhKHqRBeUCjHADa bip6s0o9XleIw4XDV0yiJBMQTQLKwJaroNtU+1YPBqX84Yc7b7mBjD6TsOM2s9NIC7Oa F0CQt/5RraGOavKp+H80IYBMhV69FGuBhjgbXqfDcOnWtVd7YdW+a/dVKk9CDd93EQS+ B/Mw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=u6RT0jl5yaarvL2XVZlJu1csjyRlVbZP5fqTo0+W9/4=; b=ANdFAu/W9pAkh6hJIeIuLw7BbG3r+ktrtpRmx0HepBGufJsztgv3kSqUwWJlevBWLu L0+GfT7xuiHrzgk3GLWo7+MEAJxipmzOxhNq/ZBtzOjKTUW+hOflyxog1tFchHsUsnAC 4B1cMiu+mxL0cP9KIkpO8WzVD09X6+s6D46N5+GQH/mr/0kdoGbILFXBZZq38D8ZPlTA unVMmYdSKnAVBQsKwoYmwKFbLyCo9ELek76C43EvpLPbcNJ0bYLojw1JHk4S/FKx/t0F Ou0BDjcXO+k3TSB3ssCfHdhTfqh/wH28PxEwUBY/gsMgkmLZlZEHwvEVPseJymJ/lEfe PQbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Uh7iOY5r; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d12si6408328edj.601.2020.11.09.05.42.24; Mon, 09 Nov 2020 05:42:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Uh7iOY5r; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387453AbgKINjQ (ORCPT + 99 others); Mon, 9 Nov 2020 08:39:16 -0500 Received: from mail.kernel.org ([198.145.29.99]:56302 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730396AbgKINDk (ORCPT ); Mon, 9 Nov 2020 08:03:40 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5E34620663; Mon, 9 Nov 2020 13:03:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604927012; bh=6yNpOKm4tr/TBozL8nohTeanZGCz0M3PhgGIBz13FYI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Uh7iOY5rCJQPMrkNPDdZ0Dc6/YDUkx876fzMoH0d657VtpRw8Hug1pAqJJZ63yB17 VYj1RogjKi9srfpllRFlIJfyZQlY5Vy7xEm5bu3T7+5yLTh1hrcA4AqQBWOS9Li+jq dDm9jx85ginw190fWbstFlJgHryYtINrrxxI7K24= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ashish Sangwan , Anna Schumaker Subject: [PATCH 4.9 050/117] NFS: fix nfs_path in case of a rename retry Date: Mon, 9 Nov 2020 13:54:36 +0100 Message-Id: <20201109125028.043674257@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201109125025.630721781@linuxfoundation.org> References: <20201109125025.630721781@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ashish Sangwan commit 247db73560bc3e5aef6db50c443c3c0db115bc93 upstream. We are generating incorrect path in case of rename retry because we are restarting from wrong dentry. We should restart from the dentry which was received in the call to nfs_path. CC: stable@vger.kernel.org Signed-off-by: Ashish Sangwan Signed-off-by: Anna Schumaker Signed-off-by: Greg Kroah-Hartman --- fs/nfs/namespace.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c @@ -30,9 +30,9 @@ int nfs_mountpoint_expiry_timeout = 500 /* * nfs_path - reconstruct the path given an arbitrary dentry * @base - used to return pointer to the end of devname part of path - * @dentry - pointer to dentry + * @dentry_in - pointer to dentry * @buffer - result buffer - * @buflen - length of buffer + * @buflen_in - length of buffer * @flags - options (see below) * * Helper function for constructing the server pathname @@ -47,15 +47,19 @@ int nfs_mountpoint_expiry_timeout = 500 * the original device (export) name * (if unset, the original name is returned verbatim) */ -char *nfs_path(char **p, struct dentry *dentry, char *buffer, ssize_t buflen, - unsigned flags) +char *nfs_path(char **p, struct dentry *dentry_in, char *buffer, + ssize_t buflen_in, unsigned flags) { char *end; int namelen; unsigned seq; const char *base; + struct dentry *dentry; + ssize_t buflen; rename_retry: + buflen = buflen_in; + dentry = dentry_in; end = buffer+buflen; *--end = '\0'; buflen--;