Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp584046iog; Mon, 13 Jun 2022 08:35:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQGepcMXjApftSPg1qs59TRQbrqGUObfl3CjvILP91Wz7ydwf+EevxoLZ3/BKYnoJqt/K0 X-Received: by 2002:a63:1864:0:b0:3fe:4da9:d6a7 with SMTP id 36-20020a631864000000b003fe4da9d6a7mr142828pgy.485.1655134528131; Mon, 13 Jun 2022 08:35:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655134528; cv=none; d=google.com; s=arc-20160816; b=ZHN9CG1itAMuFVvQFPSxzpKBR1n3orZn+4Wm8lCpVMZ8qrGdE6vbenHCe4c2B4GHZj sfWil9kVLvP8xtaumK8vj0xcIeBy3adHG2qnKtI4fKqmdZDHexSOzFfRC+onp+ABFAfQ a1NBY5mQd5Hut2ITfBbieadUveCxd4pK5OYn6poDDX/R87CIoJf2PQBi4eOQWl/2FRy3 VhVKgk3b3LfUgQXEu6/3ZYR/nOrwVhtIOC72LgvQ4K67GUikYD8Lc+u+80/rIbInqqoV zbZlpLMGNU7hidg46KejAG5p0zkLR+oNN6q9N8k1o3FeevZ4QrYWsEGLS0EGIeCVnCdG 72PA== 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=fO/5csO1jhHdHWnjd7obuwiNA7+AmN4JEvOOyXV6wRQ=; b=cySTAHMa26y2KOpMDE9HKADkhaAgRoepc6j+NIoXeYAeoyM7QjK3WfiZQbfWu3bSst 6JCFJFDqp/67+3ZBmerJd7eh1anHLnddT4JOdQNDH0I1D4OD+LSphIB+wIIF52Qbe08e 2KWZDQns/Gkc65+RAtoyJkyvQ/BxjunquV8UFtliM4xsun/KO4eMGSRkw5PTbN7LWh92 m5LBHCnwVzI+7aoTY369oln3BCpJU1Xnh+96Fj5q0p3cpw8BnQIJl2WDNKB65WHSXyJt 1a/cHFQEwNmjafFVXJizlY/mLveVuHzUp5YEmmWQHPyYUjwzeW4jumtWlFp8Mr1753yG 6G6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=atY4NaN2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r8-20020a632b08000000b004085af5007bsi4498745pgr.428.2022.06.13.08.35.16; Mon, 13 Jun 2022 08:35:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@linuxfoundation.org header.s=korg header.b=atY4NaN2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S1359047AbiFMNJE (ORCPT + 99 others); Mon, 13 Jun 2022 09:09:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357316AbiFMM6j (ORCPT ); Mon, 13 Jun 2022 08:58:39 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D47AA2BC8; Mon, 13 Jun 2022 04:17:33 -0700 (PDT) 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 417E2B80EBA; Mon, 13 Jun 2022 11:17:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1266C3411E; Mon, 13 Jun 2022 11:17:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1655119051; bh=7I9oYHps1lENRulcu3V187OBZAP6GOvuuPAqjStWvXQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=atY4NaN2lYRQXSgn4P6CpgNCDHgKBCtN4/VJSvqqZRDcdh6M7N7PzLUYtYCHhC2Q0 MCH5D6TugwYwJrnUuoPm143dYiMA25Js2ooGSJAuwNQtBK9ncALAVKwnDqyMRCKzq2 Lmd+oIG7ICoZz2iTD3rZOt7FxHa7CLCVpBcZdXxY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Trond Myklebust , Anna Schumaker , Sasha Levin Subject: [PATCH 5.15 123/247] NFSv4: Dont hold the layoutget locks across multiple RPC calls Date: Mon, 13 Jun 2022 12:10:25 +0200 Message-Id: <20220613094926.693030283@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220613094922.843438024@linuxfoundation.org> References: <20220613094922.843438024@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.3 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,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org From: Trond Myklebust [ Upstream commit 6949493884fe88500de4af182588e071cf1544ee ] When doing layoutget as part of the open() compound, we have to be careful to release the layout locks before we can call any further RPC calls, such as setattr(). The reason is that those calls could trigger a recall, which could deadlock. Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker Signed-off-by: Sasha Levin --- fs/nfs/nfs4proc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 4bed3bb75ad5..cbb39aff8182 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -3108,6 +3108,10 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, } out: + if (opendata->lgp) { + nfs4_lgopen_release(opendata->lgp); + opendata->lgp = NULL; + } if (!opendata->cancelled) nfs4_sequence_free_slot(&opendata->o_res.seq_res); return ret; -- 2.35.1