Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp325319imu; Tue, 8 Jan 2019 21:06:46 -0800 (PST) X-Google-Smtp-Source: ALg8bN7RaPayyUizhneesJqWiejlw30PD/AptBY16WIBXS18BQkDQej4f22kI32YcphezUe1Brwj X-Received: by 2002:a63:df13:: with SMTP id u19mr1922016pgg.294.1547010406427; Tue, 08 Jan 2019 21:06:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547010406; cv=none; d=google.com; s=arc-20160816; b=aXR0ZNkUB3xscZu484ds0AaN0u7PV3EynMNslTMUepAly5/ngXDxl8+9zwf2fiHmCP GTb7Ghkk1r65mlCcjSNkAReCcvmOEm2yFYspKF5U5HmvXQg86uQrE2SjcpWOIWRjIMpN kK4aEmfjEhaxWhtksV1KmfNaq5oi/4Nf8yq9MAL8k2R/xO2+kYOanZ6m0KvXrjMtNcT0 WA68JS67oGpXBoCbaMEJp0GYVMcMfUWerMn/MAQKLoBoaR5AqVyFi6FGsTCfrLCV5BS1 V3zzhuHhZQrvisRfvUw39LcEN/Sr3AJAA6OCtLIp8fOhrPi9EDn/7x2jD0HbFORWDu+k lN4g== 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; bh=vXNeLa87OtFzM4QHnpQIRjvYGOoDMNKS1QO0np6+Nc4=; b=QvNu1E7WwRM+H8a9cN7Q/tnmUGGL93ulau91aHFCnHTH6kvALB2tEZXD01GIQXocUe RZba5UO50V/seVUMoITsKe8lpa+fZdhrj5IwgPH+Cos7f7HJyrKs7KrYhkYThmBkPnSe /XMuVpDyFb5BKeTEx5n0l4K/1wyK4C3KgfpXdF/9nybleCHeYlK+blYB3WAjESl+zhPQ ePcV07lJnRvAzJhcEs3xRLAvdbEchDQq+VmhZw6dh1pk0rRHpxuoee/3dC4mY6Mi8t8z Ed/IVAn6mQNSXB9ffOEpalEfHDOEDrB3ShsE9UKP/fSqW5YcaW7diUQtB7KoCvf0v5MA +s3Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q17si1029473pfc.198.2019.01.08.21.06.30; Tue, 08 Jan 2019 21:06:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729116AbfAIFFM (ORCPT + 99 others); Wed, 9 Jan 2019 00:05:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50592 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725440AbfAIFFM (ORCPT ); Wed, 9 Jan 2019 00:05:12 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BE1DEC068BD3; Wed, 9 Jan 2019 05:05:11 +0000 (UTC) Received: from xz-x1 (dhcp-14-128.nay.redhat.com [10.66.14.128]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB428105705F; Wed, 9 Jan 2019 05:05:08 +0000 (UTC) Date: Wed, 9 Jan 2019 13:05:05 +0800 From: Peter Xu To: Andrea Arcangeli Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mike Rapoport , Mike Kravetz , "Dr. David Alan Gilbert" Subject: Re: [PATCH 1/1] mm/hugetlb.c: teach follow_hugetlb_page() to handle FOLL_NOWAIT Message-ID: <20190109050505.GC12837@xz-x1> References: <20190109020203.26669-1-aarcange@redhat.com> <20190109020203.26669-2-aarcange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190109020203.26669-2-aarcange@redhat.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 09 Jan 2019 05:05:12 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 08, 2019 at 09:02:03PM -0500, Andrea Arcangeli wrote: > hugetlb needs the same fix as faultin_nopage (which was applied in > 96312e61282ae3f6537a562625706498cbc75594) or KVM hangs because it > thinks the mmap_sem was already released by hugetlb_fault() if it > returned VM_FAULT_RETRY, but it wasn't in the FOLL_NOWAIT case. > > Fixes: ce53053ce378 ("kvm: switch get_user_page_nowait() to get_user_pages_unlocked()") > Signed-off-by: Andrea Arcangeli > Tested-by: "Dr. David Alan Gilbert" > Reported-by: "Dr. David Alan Gilbert" FWIW: Reviewed-by: Peter Xu > --- > mm/hugetlb.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index e37efd5d8318..b3622d7888c8 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -4301,7 +4301,8 @@ long follow_hugetlb_page(struct mm_struct *mm, struct vm_area_struct *vma, > break; > } > if (ret & VM_FAULT_RETRY) { > - if (nonblocking) > + if (nonblocking && > + !(fault_flags & FAULT_FLAG_RETRY_NOWAIT)) > *nonblocking = 0; > *nr_pages = 0; > /* Regards, -- Peter Xu