From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7CDFC2BB85 for ; Tue, 14 Apr 2020 16:32:37 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7E20F206E9 for ; Tue, 14 Apr 2020 16:32:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="bGSSp+1W" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7E20F206E9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 32B1C8E000A; Tue, 14 Apr 2020 12:32:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2DBA98E0001; Tue, 14 Apr 2020 12:32:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F16D8E000A; Tue, 14 Apr 2020 12:32:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0227.hostedemail.com [216.40.44.227]) by kanga.kvack.org (Postfix) with ESMTP id 054238E0001 for ; Tue, 14 Apr 2020 12:32:37 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id BA78B181AEF0B for ; Tue, 14 Apr 2020 16:32:36 +0000 (UTC) X-FDA: 76707003912.27.pie89_8b2d8f932ce2c X-HE-Tag: pie89_8b2d8f932ce2c X-Filterd-Recvd-Size: 4399 Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com [209.85.222.195]) by imf09.hostedemail.com (Postfix) with ESMTP for ; Tue, 14 Apr 2020 16:32:36 +0000 (UTC) Received: by mail-qk1-f195.google.com with SMTP id w70so9691478qkb.7 for ; Tue, 14 Apr 2020 09:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=QBdKhl12xvvYi9lcxj1S9EA5zV6NRqJ0DNsgwZaL5f0=; b=bGSSp+1WA5PYJleV9ifx6NNnf93E6ao5JcRqKpwnklWFlxyK7FUkcisjZaCRvqQIDY XjVzONiep1xbXRC+TQ8OrlINiYy/Z0j7ng22kRs4pG6i7dN4zHeRSmNW5Fq2rsindx9Z es8/FlpOaZT4RzmV4YFvcD9/9HR9ySqyzfqtxPxRBNfG5N1eyihCeuzOjfqWBrP7DQyU sX6zjLXg1/mYyvzXinc0g9Xg9V7QUFPyD5tjcE6aX9P5wWzAUr3po/BJ4aanhAtyPjN1 8uTX7UEbD8b6klDvQ8o6lzbJFrXbS+P8ooinQ5r/7/hCxaVslUfBje7vcFcvPzpB21pG 0nsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=QBdKhl12xvvYi9lcxj1S9EA5zV6NRqJ0DNsgwZaL5f0=; b=WeHw75ss0hgD0pQxpT5JU5rRA6C5J9ua1ILCnL+sLwQEjwm4wVmrsDl1kVsGYi9bam cBNgxk7PAOStF5iQteCT4ZFD/Fdf82Zt+I55wPyM9JPiGhW7kCaJwKbrU8pRy+DgYrMr 3wcIcoY7gjEnt+gZUTiYonwVHLqan1YiszTPyq+d+RScQSVWgf+Mkr4014eVnfkLWC3Z 30jGDblHu2gL3d+sJgrMr00xx5m6fCcwxgITyxcgxj0+QEqXuqbgTJD4HzaNwBD9qwT7 mA0HY5lIrRbJ8A/bp7EpFt9d3SU9q0A7NUnZD0SOAyv07wEGkdeyqLNxEbM514X2pFTJ X16Q== X-Gm-Message-State: AGi0PuZ+p9C5h/CTPXpLDD62xNP8/Au2QawV9jpLofQwwdRSGdArYcll 3YtadQ82nwqNz49cRp8k2gS5BA== X-Google-Smtp-Source: APiQypL35bvylggzZE0yMT8vcGrCFxCjV/OJPpuQpN3/dXZvvHERYdDgIWBReT0U8zOAMVy0imoEUw== X-Received: by 2002:a37:6393:: with SMTP id x141mr3886719qkb.179.1586881955711; Tue, 14 Apr 2020 09:32:35 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-68-57-212.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.68.57.212]) by smtp.gmail.com with ESMTPSA id m1sm11597515qtm.22.2020.04.14.09.32.35 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 14 Apr 2020 09:32:35 -0700 (PDT) Received: from jgg by mlx.ziepe.ca with local (Exim 4.90_1) (envelope-from ) id 1jOOUE-0006Ly-OX; Tue, 14 Apr 2020 13:32:34 -0300 Date: Tue, 14 Apr 2020 13:32:34 -0300 From: Jason Gunthorpe To: Alexander Gordeev Cc: linux-kernel@vger.kernel.org, "Kirill A. Shutemov" , linux-mm@kvack.org Subject: Re: [PATCH] mm/gup: dereference page table entry using helper Message-ID: <20200414163234.GG5100@ziepe.ca> References: <1586877001-19138-1-git-send-email-agordeev@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1586877001-19138-1-git-send-email-agordeev@linux.ibm.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Apr 14, 2020 at 05:10:01PM +0200, Alexander Gordeev wrote: > Commit 0005d20 ("mm/gup: Move page table entry dereference > into helper function") wrapped access to page table entries > larger than sizeof(long) into a race-aware accessor. One of > the two dereferences in gup_fast path was however overlooked. > > CC: Kirill A. Shutemov > CC: linux-mm@kvack.org > Signed-off-by: Alexander Gordeev > mm/gup.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/gup.c b/mm/gup.c > index d53f7dd..eceb98b 100644 > +++ b/mm/gup.c > @@ -2208,7 +2208,7 @@ static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, > if (!head) > goto pte_unmap; > > - if (unlikely(pte_val(pte) != pte_val(*ptep))) { > + if (unlikely(pte_val(pte) != pte_val(gup_get_pte(ptep)))) { It doesn't seem like this needs the special helper as it is just checking that the pte hasn't changed, it doesn't need to be read exactly. But it probably should technically still be a READ_ONCE. Although I think the atomic inside try_grab_compound_head prevents any real problems. Jason