Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4765021yba; Wed, 8 May 2019 02:20:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqynJ3PrwDokpAe3PvWJg9An8ecLRDZ4zQy/6/99H317eOHcIJlWR92/5ytx1QI5nedPLkb3 X-Received: by 2002:a65:6655:: with SMTP id z21mr45075258pgv.33.1557307215678; Wed, 08 May 2019 02:20:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557307215; cv=none; d=google.com; s=arc-20160816; b=WUtNFvUoGGesxVsb4zbwA64ybR7U+uCcyrnlksPT1PrxkKZghbufuJja2hX/V+djkb WA6oUBmMoV1YQIMX0cxfjOppjokUi1o4nUIelwzM83UYrGqQ7sEfYpCikjJY3yyTI3Da y9MBzvjLLeCBZmQpF8brtwv8X2rHLrpTZ9UoRA/8Tp5ktqtJmzdaGqGG+aRC7Lkl2CYW SXXWPwuzr3iZxiuLaORSdzIhXZYFMfB5+Fw/MFoeCqyFN8xyUTJGRDnlu4dsTLDDB4k1 kFI7hs+gbnvsiUU/lOWNJl3LZodFY77lcZlkqMbc+7+nfddDNrmleepKvC0VN6MUA7lU STcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:dkim-signature; bh=Qx5s+3gMk23EZhvj8bdaljTEiFoMwLGd3Y7gAN+zmYA=; b=KA8hx0ow3RZhWVmM/CKDOaB32BrdQuab5+/SLNLgMGxiDBf225Ec4Xe+f1ItN6OiYe Tf0zWZEu6fjeX+1+KQhEdmBvXarx8SmR+o1D3RaBVr1Xm+eUj4Z7kV2YukKCp8LcqusS yQMggkoQUSv8K3o1UsvDe1bkgpBc6cZvSiwd/L1F79O+zUD798TMamPtVGXZWSRVVYCZ Hi5Qd1cSy9IQvdtseQLNas7j4t8gNgr7/Hsv2w9XbNWsD3yJ1lsMXYnvyXdeMz7TbpO/ Zhex5zY6UhRCKhN2TRt2MiFCAvtXZuCXZtoX1mqOiKGAG1rldzaH3KjwV27pqZPfSAr8 p+8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kroah.com header.s=fm3 header.b=Jf905llr; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=Z2Fg2iDE; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l4si20556572pgp.280.2019.05.08.02.20.00; Wed, 08 May 2019 02:20:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kroah.com header.s=fm3 header.b=Jf905llr; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=Z2Fg2iDE; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726685AbfEHJT3 (ORCPT + 99 others); Wed, 8 May 2019 05:19:29 -0400 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:43633 "EHLO wout1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726589AbfEHJT2 (ORCPT ); Wed, 8 May 2019 05:19:28 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 63B634A3; Wed, 8 May 2019 05:19:25 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Wed, 08 May 2019 05:19:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kroah.com; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm3; bh=Qx5s+3gMk23EZhvj8bdaljTEiFo MwLGd3Y7gAN+zmYA=; b=Jf905llrUndvCGe7u6vbkIzRIWRHn9DVBqaGx6I+zwI mq6OCGsQg9PFDDC5NJI1Bv/QjFHDQ6Ah0hUMNAKVram3DcbVVybABxkHxLAYS4VY vP+7nzyHuUiZojYC5pwNNLVPEM/nmpky7D+SW0DdPO3seIhE9Fv0NQfTUSxiZYX4 7uerxXz1fz8wHf3HG+n2ro50s0PPFOczYBzrLSM206xnOrEAgwES0LPspiE72j92 3Marm/mXznypKW3I3wd5QiPooW54Ei38RJmdymZR0OTbEhCRBqqzVasLPnL3//3y 23GtgdaO8qMEsO0/QOzsexlGNr+x/IFEYk9nAd4vSog== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Qx5s+3 gMk23EZhvj8bdaljTEiFoMwLGd3Y7gAN+zmYA=; b=Z2Fg2iDEYzwRFzX/PBxUeN Z4o8I0CUEuqz11R0tgEPQUpWx3GpqLO2bhAd0fL6ISqakYxbk6JZNvuaVNnSJbU4 s6OCyCgS65QciXAe6a5eKYjUGiDmy+4TrzT3kLsst2jvq4fVm8SU5hVJ7dR+wnhF P0mnhilzFxtRZ7AiwoWvPb9EhNUTptudWRj4wLJsK2XMbJ/HhJonlvTZ5T4W4O1C YGSBHtHGlzL7NDVPD33ZUmB4dNrvcA30RGeKEXgiYDlB/Cr8f7bKeL9DHgdrJdPI ZrwX7QUg/mG9LL1rNkBxcZNlP8PnEQLnoHMnfE7weJQ8xqaz0bbRvUm9qJJDAayA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrkeefgdduvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkfhggtggujggfsehttdertddtredvnecuhfhrohhmpefirhgvghcu mffjuceoghhrvghgsehkrhhorghhrdgtohhmqeenucffohhmrghinhepkhgvrhhnvghlrd horhhgnecukfhppeekgedrvdeguddrudeliedrleeinecurfgrrhgrmhepmhgrihhlfhhr ohhmpehgrhgvgheskhhrohgrhhdrtghomhenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from localhost (unknown [84.241.196.96]) by mail.messagingengine.com (Postfix) with ESMTPA id 83B641037C; Wed, 8 May 2019 05:19:23 -0400 (EDT) Date: Wed, 8 May 2019 11:19:21 +0200 From: Greg KH To: Yihao Wu Cc: linux-nfs@vger.kernel.org, Jeff Layton , "J. Bruce Fields" , stable@vger.kernel.org, Joseph Qi , caspar@linux.alibaba.com Subject: Re: [PATCH 1/2] NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter Message-ID: <20190508091921.GA1968@kroah.com> References: <2a1cebca-1efb-1686-475b-a581e50e61b4@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2a1cebca-1efb-1686-475b-a581e50e61b4@linux.alibaba.com> User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Wed, May 08, 2019 at 05:13:25PM +0800, Yihao Wu wrote: > Commit b7dbcc0e433f ""NFSv4.1: Fix a race where CB_NOTIFY_LOCK fails > to wake a waiter" found this bug. However it didn't fix it. This can > be fixed by adding memory barrier pair. > > Specifically, if any CB_NOTIFY_LOCK should be handled between unlocking > the wait queue and freezable_schedule_timeout, only two cases are > possible. So CB_NOTIFY_LOCK will not be dropped unexpectly. > > 1. The callback thread marks the NFS client as waked. Then NFS client > noticed that itself is waked, so it don't goes to sleep. And it cleans > its wake mark. > > 2. The NFS client noticed that itself is not waked yet, so it goes to > sleep. No modification will ever happen to the wake mark in between. > > Fixes: a1d617d ("nfs: allow blocking locks to be awoken by lock callbacks") > Signed-off-by: Yihao Wu > --- > fs/nfs/nfs4proc.c | 21 +++++---------------- > 1 file changed, 5 insertions(+), 16 deletions(-) This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly.