Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp836442pxb; Tue, 3 Nov 2020 13:58:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJzgpRJ7luxZuLshxg7r3iJ/VbMXDckeMtvW1HN7pZqkjGxb0vXzs+OxJoEEsjPt00OXaiZI X-Received: by 2002:aa7:d548:: with SMTP id u8mr23560147edr.321.1604440737897; Tue, 03 Nov 2020 13:58:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604440737; cv=none; d=google.com; s=arc-20160816; b=qXHbPSwDfC70ajGGLI1U6wubyULcB3c2ezMciAQzhYPMXWcp6yYzFuQ6PNO9Hjpb1j i7C0BaF1r1bO0DDsV2/jSMDG74OPXHkT6bAinmMRQaCzV4Px9Qu44LXQFYEChD0+59hf 9PTmRbF2YYyp1GJfvzmfCHtjDzOIAmQAay+cZxJizge68cxpKVWxuRlAhwFOXnD2laIF 9++x3kzv0ycRzo101axS5131A/Laa1WwVMY6zHkh0TaGoiZrwBgS9JlhTP4GrCbetO7l E7IFqhJeGJD+/WPrq8DEMjOhnzp/AZ0lNBNwIob1gRZgUarmGuxJIvUtK8r6c0rocGN8 yoWQ== 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=9I8c18koVAxn/xxvgdzAswRFsSyh6BLmx1gw4DxQbk0=; b=pvUQeYHS3/HQHquWt0h4+3YLMIWaHnK1L5Cq6uru4hk9NlJWqSEb+qeJM6CJ29Iwts wtAdD/Ohh0srFrNYhzXqqqQrkqWDGg07z+qC7p6RP93oeptqu9k2Dx0HXEhGXxjO5Vm3 ta5iAE3KzcqvjRID408maIE2rfb6hEk22vbYL8zh80BWin7er93evFajQN1G2To1q4Mo xX5KwO2z8xgg4e/o9qaiR60spYcC+rKng1f7ovAPstutycx0XiAxdgSRFZn8jbc8PJId mYiPsgBkyU/MlWOtwNehBcI9llTZqtf9tDYrDg1cluqpYCiQrfmb6wES7OR8HFkCTD+P PQZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aPVvZYTe; 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 a18si8596748edb.306.2020.11.03.13.58.35; Tue, 03 Nov 2020 13:58:57 -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=aPVvZYTe; 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 S1731164AbgKCVyP (ORCPT + 99 others); Tue, 3 Nov 2020 16:54:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:33886 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731047AbgKCUpd (ORCPT ); Tue, 3 Nov 2020 15:45:33 -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 1782D22409; Tue, 3 Nov 2020 20:45:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436332; bh=4IzX0AmbdJrqIjma/xtfUvtpl5nJcVe7Sv6UL/DIjNA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aPVvZYTe/YUqX9GjZz/tHqSSqrU6Bs1sD7SENe/dpVmWSJ8qH93ryQOMqNFpgvo3L SyuN+kpTFu3U+92fPv1JvJ91qYRG71yY7U0dXsUimm6SHSweR2NVwqa3nx3DXerfuC 10gome8XvlhlRPhzulPBP/UpQxYsxWp1LczaTejk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ashish Sangwan , Anna Schumaker Subject: [PATCH 5.9 204/391] NFS: fix nfs_path in case of a rename retry Date: Tue, 3 Nov 2020 21:34:15 +0100 Message-Id: <20201103203400.660469300@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@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 @@ -32,9 +32,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 @@ -49,15 +49,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--;