Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp171985pxb; Mon, 13 Sep 2021 16:13:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/F3wdGAyWWbGZT52cX7D/PcKTvpR2PtgTHe83FffEzCh2cCrwYE/nJrc5ya18VkoB0Uw5 X-Received: by 2002:a92:dc07:: with SMTP id t7mr10117500iln.63.1631574784319; Mon, 13 Sep 2021 16:13:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631574784; cv=none; d=google.com; s=arc-20160816; b=vNQtPSgJZ/poNmJ4ikQs9Ncy/GuxnGwZTERrc0nGX1LrL2Ue9GO7YDRxTeRvRCwQ1x vIL6b6UfOMQumyFdv9/rRJfIhNiBC2PBbJ99J/Fxw0yogJI7kOnCSe4zH8tU6loDgjEx HDYAOFoIwDsKedPF2RYeb/tjbWg5y0ClUSXE9rcKgZgWgzveMnaS++9M0gce5XGWToEw NpJ0QY47yzn924RqrG4KqenIZ1sU1zC1Y9KWl3KyWo+pqbsEgrcjBlhmFLfnu2VPIlIf arbbGBmiugjuVLcr97VssLrPu6KTd+edFUQrDqfz5W5bbgA/pU76y1zYGQkRqXQbUNSf zFsg== 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=WBvft7PMVJ6VszmBalWGHTPo0U9Zk4tq5cKg4uw/f4M=; b=QY25Kx+lBZ9zo20g3yeUl0+seJUxJ4BORHZaYOG+mrWYb6mvEpkyb2mrwlRyOV4gex Hr9XBoNrzBsbvSwEjlRmqJPU90lPdWDV6iqaBYydQRu7IqphSXwaX7d+wNE0u03tOi+8 CWx9TxYitIfclWz4CE5fV/ruTy9qzq1iGtj43EBi8YdzvdjsiciquIDNSacvyGLvMcoj Tykex7ZRjaWpYEOwzez8+jEYGsTEjWmK7SOKMBOWoksX4/N9j57jr3/LI+87Rvk7r8Sp hbgcKaxn11mmWLzBTi06eNomeConbZqBCNDfvuEm/lzORoiYxP2rEk5tmex72jig0SXW 7Ffw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=NhXEpM7J; 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=pass (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 h17si2961689ilq.30.2021.09.13.16.12.53; Mon, 13 Sep 2021 16:13:04 -0700 (PDT) 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=@linuxfoundation.org header.s=korg header.b=NhXEpM7J; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345341AbhIMOmT (ORCPT + 99 others); Mon, 13 Sep 2021 10:42:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:56444 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345614AbhIMOgP (ORCPT ); Mon, 13 Sep 2021 10:36:15 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E93AA61BF4; Mon, 13 Sep 2021 13:54:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631541245; bh=FTura/r26pufj/alcKrqHgHRW1ZG1Bi753FqRfjOL4U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NhXEpM7JrjacwUBF3tY5ioInFNi+maCmdhgEZ+uoZgGjwUIdW0LiRG3oiAwQEa80o H1LDjNkA7oaNEsxqSX6HuagUz6+OCXqi2NcKAMHEW5VBvgE4pL3RgvzrLa5ZPNA++a A/ZMyPDbLSvrHVPRFYdb45noFowkdO2pJQRzr/G8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "J. Bruce Fields" , Chuck Lever , Sasha Levin Subject: [PATCH 5.14 221/334] nfsd4: Fix forced-expiry locking Date: Mon, 13 Sep 2021 15:14:35 +0200 Message-Id: <20210913131120.891932306@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913131113.390368911@linuxfoundation.org> References: <20210913131113.390368911@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: J. Bruce Fields [ Upstream commit f7104cc1a9159cd0d3e8526cb638ae0301de4b61 ] This should use the network-namespace-wide client_lock, not the per-client cl_lock. You shouldn't see any bugs unless you're actually using the forced-expiry interface introduced by 89c905beccbb. Fixes: 89c905beccbb "nfsd: allow forced expiration of NFSv4 clients" Signed-off-by: J. Bruce Fields Signed-off-by: Chuck Lever Signed-off-by: Sasha Levin --- fs/nfsd/nfs4state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index fa67ecd5fe63..2bedc7839ec5 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2687,9 +2687,9 @@ static void force_expire_client(struct nfs4_client *clp) trace_nfsd_clid_admin_expired(&clp->cl_clientid); - spin_lock(&clp->cl_lock); + spin_lock(&nn->client_lock); clp->cl_time = 0; - spin_unlock(&clp->cl_lock); + spin_unlock(&nn->client_lock); wait_event(expiry_wq, atomic_read(&clp->cl_rpc_users) == 0); spin_lock(&nn->client_lock); -- 2.30.2