Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp700107ybz; Wed, 15 Apr 2020 17:01:45 -0700 (PDT) X-Google-Smtp-Source: APiQypJRjNP2gNi9T+pnqlv+AbklReRG/ey8ULW/JR45OTdxPnKx1oaaivLGJymE6SRWbhylp/jq X-Received: by 2002:a50:b263:: with SMTP id o90mr26180585edd.326.1586995305227; Wed, 15 Apr 2020 17:01:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586995305; cv=none; d=google.com; s=arc-20160816; b=IWLjEfYYqH3/iIKFOnV04Ty/un73I/ZSgB8U2/gNPdCCSm9QkqTKAE5RG8OdwMgfu6 SRszAUqIDw8o0kGODzmJvnVsWpFvdPTHevm6i0avMU3DtgLmGXaxJls+vZLcUt4M/1Ul PahEVmvJbc9NmmNJ2CnNEnjB0Eu2u8tjMHIrZCcYX2j6Rw/CqkaNNN0TcJDypUUHKoXz Mb96yCyaoe113BO3+iKOLu8yMIoHwBZpRP1za0FAl+xGxJcjpQy0UBYaVyJcfLW4+cMw 8il7mZXSCwXMSLYCAGGq4F0mBoKIHcjBqap56WI4qf905uY1riqr2J5Y2zuhCMCvWKwM uqIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VbJklgqYaQN+qwUP/TImpeq0TPpvMG+WUkt8yU5B7Pk=; b=HjXX9Wq2tNs36eTWbS/vW91mOKwO/HgOfCUR/lw8Pypf5CcHDJP+gz/xhdggAQWoQe nGuEhG9SroHUIjJw6kK7pMWfu/+uWJW3rP4cjU6sPw56WEnvXomUJYOhQyKVs08mzDwC i3b/BNC0Qen5vcj6VtzwVxhtRXiVYdea/E/dXUY886eIvKpJarcW78fQ3+EEGLG6czwZ hck+uLQtbI5kXHLrpt9FQJFoadUE5e77yx9eMzxRA7v/1vSxQiVJriEqVElvTn5de45Q ijmng44vG1wU5n+WvcpcpHdr+aSMzsC2K7l0WqrEd9TVMqqjnmYX+QVAIADpTpzxXavm 7T8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xOxlYBsG; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g5si7124374edu.188.2020.04.15.17.01.21; Wed, 15 Apr 2020 17:01:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-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=xOxlYBsG; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 S2897083AbgDONNR (ORCPT + 99 others); Wed, 15 Apr 2020 09:13:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:54892 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2897051AbgDOLf0 (ORCPT ); Wed, 15 Apr 2020 07:35:26 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9BDF620857; Wed, 15 Apr 2020 11:35:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586950526; bh=DJq3kiVid+PEWn5WE6VUYAktHgMxGYUpiygRCvaI3+Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xOxlYBsGXuwq1b7R+ihsvoFhKpIFlzh5Q8BJgMazGHHsDFlagVYhUef05ccqMh2Ec 0s58O1a8W8kW2D+UCLyf+wS74MckGhDg/SFZDR4r7D7niEWXbyZibNf2MDHIkbZy3v AL/R7OechECoYUlP73TO/q23NNv2F9W4bDA1+tX0= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Trond Myklebust , Sasha Levin , linux-nfs@vger.kernel.org Subject: [PATCH AUTOSEL 5.6 035/129] NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() Date: Wed, 15 Apr 2020 07:33:10 -0400 Message-Id: <20200415113445.11881-35-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200415113445.11881-1-sashal@kernel.org> References: <20200415113445.11881-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Trond Myklebust [ Upstream commit d911c57a19551c6bef116a3b55c6b089901aacb0 ] Make sure to test the stateid for validity so that we catch instances where the server may have been reusing stateids in nfs_layout_find_inode_by_stateid(). Fixes: 7b410d9ce460 ("pNFS: Delay getting the layout header in CB_LAYOUTRECALL handlers") Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin --- fs/nfs/callback_proc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index cd4c6bc81caed..40d31024b72d1 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c @@ -128,6 +128,8 @@ static struct inode *nfs_layout_find_inode_by_stateid(struct nfs_client *clp, list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) { list_for_each_entry(lo, &server->layouts, plh_layouts) { + if (!pnfs_layout_is_valid(lo)) + continue; if (stateid != NULL && !nfs4_stateid_match_other(stateid, &lo->plh_stateid)) continue; -- 2.20.1