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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 24EA6C77B7F for ; Tue, 16 May 2023 10:22:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A959328000B; Tue, 16 May 2023 06:22:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A45A8280001; Tue, 16 May 2023 06:22:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8E6AF28000B; Tue, 16 May 2023 06:22:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 7C041280001 for ; Tue, 16 May 2023 06:22:01 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 41E28AD288 for ; Tue, 16 May 2023 10:22:01 +0000 (UTC) X-FDA: 80795727642.25.3902345 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf12.hostedemail.com (Postfix) with ESMTP id 6D69740005 for ; Tue, 16 May 2023 10:21:57 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="BJLmKJH/"; spf=pass (imf12.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684232518; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DdwZekQhQhJYfD71ineBvZDWMF1v7qroVT5L1UXxv4Y=; b=THeMWSxT/q2KTFkTL/OQUnOkJlBv8UonR95OmAOWhB/e4Go7Cxm3OObcCp7GMN5JF2JD0u NEzNq+YzyZTZR9k/K9xtbDAcORPtfAVmmnZfJpfSs+6lyr+U51Km2RewANBeyQX8GRUPwW t45mE9pEjlMa3Z9a9rOME8vNaVlwxQY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684232518; a=rsa-sha256; cv=none; b=NXdqrmqXUcyovfzEOa0dVM9K8pvZUFY3bbM3PVBmgBPeFHFwdwRfm36oT1RLurQ4+oLYPW Bz2noFmxT785mOBd+Y004io1W8qkASaxZHoxch/Ya+xMVx7GxhY9T5QUimp/im6GSrFWZd 5JEjSkeWETMEaco6aIMnUpTHrkzGaqw= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="BJLmKJH/"; spf=pass (imf12.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684232516; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DdwZekQhQhJYfD71ineBvZDWMF1v7qroVT5L1UXxv4Y=; b=BJLmKJH/+DqLPoaghhFc3uDuMNe1iWdl6Z5VnoOsIyjD7ypWzdGOFt/lYPDua3+5sc3G2Y uGl4QbTUvj0zM3bIhaVLwwLKip7EZvNQdI3CA49SOjkDWsZF1EViw1qIqNcpUpEh2je6KS aRAH03hFn/6QNuCRQ/Y+PmQmHn9s2es= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-449-skIGfw7YOBCYncINeC4lZA-1; Tue, 16 May 2023 06:21:55 -0400 X-MC-Unique: skIGfw7YOBCYncINeC4lZA-1 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-3f42b36733aso29962915e9.3 for ; Tue, 16 May 2023 03:21:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684232514; x=1686824514; h=content-transfer-encoding:in-reply-to:subject:organization:from :references:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DdwZekQhQhJYfD71ineBvZDWMF1v7qroVT5L1UXxv4Y=; b=luRUYupQOJTS8MojLflhzzPeytDncNJU3QZTe+hWvE4ZsxKYMqozQtVp1jXJc1VTwC xzxXCqyKIVGTjELNki3LIUk1RiaK44zshy6V9dT9bpltyf46nA8e9jDWpJB0SSuFZOVN hOyssSVABMtPgdx+xDQ8gGmklxCav8/BCys09TX4t2EnzoMsFPBBbqzHLqtr+PwbaLUM KTm1CxfzD5bzzugL4ZmrM8T8iHak92s7erwy7pTqZ1sAovZqw4ydhAViU2VBz0xRUjn3 T24UaspZzTGcT7w494qHtCaPEci61rvecfwiRvs8krp97KfXCIk3Mi3MQcjhcBSY503V wXZg== X-Gm-Message-State: AC+VfDzNxM6PZ291GlO7iJpFH/xEEJc5mqLK2B4k3YzIrsx2NkTy/WJO IAdXzgSYs1tsUpAS+wkx6SRNGpp3v9pfMN4ktZTCxv8Q4C0t1fExXec6/ArEUizUJTSYdu+t7u7 usPV3vYN3EP0= X-Received: by 2002:a5d:6ad2:0:b0:306:3b39:9a3d with SMTP id u18-20020a5d6ad2000000b003063b399a3dmr28037442wrw.15.1684232513858; Tue, 16 May 2023 03:21:53 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6bdJSovfEtFVKVvmRsoufWG6M0qCFHLXRoPnSmKuTb+/8PzxuUbfsqia5+hKdAyzixUpyepw== X-Received: by 2002:a5d:6ad2:0:b0:306:3b39:9a3d with SMTP id u18-20020a5d6ad2000000b003063b399a3dmr28037403wrw.15.1684232513432; Tue, 16 May 2023 03:21:53 -0700 (PDT) Received: from ?IPV6:2003:cb:c74f:2500:1e3a:9ee0:5180:cc13? (p200300cbc74f25001e3a9ee05180cc13.dip0.t-ipconnect.de. [2003:cb:c74f:2500:1e3a:9ee0:5180:cc13]) by smtp.gmail.com with ESMTPSA id t1-20020a5d5341000000b002ff2c39d072sm2092106wrv.104.2023.05.16.03.21.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 May 2023 03:21:52 -0700 (PDT) Message-ID: Date: Tue, 16 May 2023 12:21:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 To: Sean Christopherson , Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Matthew Wilcox , x86@kernel.org, linux-sgx@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, kvm@vger.kernel.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , Jarkko Sakkinen , "H . Peter Anvin" , Xinhui Pan , David Airlie , Daniel Vetter , Dimitri Sivanich , Arnd Bergmann , Greg Kroah-Hartman , Paolo Bonzini , Jens Axboe , Pavel Begunkov , Jason Gunthorpe , John Hubbard , Christian Konig , Jason Gunthorpe References: From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH v5 1/6] mm/gup: remove unused vmas parameter from get_user_pages() In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 6D69740005 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: t33fodbhdhntfasbs73n3wq64kwkeumk X-HE-Tag: 1684232517-223706 X-HE-Meta: U2FsdGVkX1+0tsD/s3g1YqAGLV9w/PMwC/VqrgCasvEKWlgvpTjeUjlYiTWmDy0OPCpIUeOAVqrI7ghq3IQYKerMFGXZ0lYDydIQv9/VxOvkoDycDh3EOvlVUdW0nAmbBNymd+s+Fch6aFCmcmG/w3K57sWUxr7AEoQztRtwi+S2eUXEx+EwbJNjhcm5McJ21JLjC2lTF4ZhPzlqxXgS38om5Fbf2RiUgAXR8m9RNgvoLbsVTPFnVKh/sIg0rXVyIZH1LbZOD/quMy0BvQXcfWzdT35IbDbydyHpDqL9Y4jmi2gsScUA0Q3ub9Hba3LAhKPoplV9w6xl7cfV0USbmbymO46M9pLFd6XzXPIPZxuI4lp+xT59BzRrLu5qWSQBUPFS1GhiKksFOpFV1Hffi36aOh/BG1V6yAk4XaHfCGu/kRKDk/poFJoatUnZdlK1UrBnC0O5jnxAgn0GKlulrSo/MESRz4e8616s8I9jSL90J2IghtgHU++3yrgVwOTWBtMHL2cvNjekthgYLB4++LHbk5+EGA5NZgxvcyD5jUtxfq/XJ5eWfrQEeYS7ar6WylTevZhdHfyXq9o2bI7lJzJVJSMy3fozfASc63wVTnDgDThKJ/QBDc4uFyJZ7zMr7dXNFTcFagpkHCwSvmENSlpSyxxNI+1Lc1qGQ6ZZEM2lB/rVu/Xbl0n5i+lGddEfA/RRR2nOoiEBvqJxggjm3jU5JtNgtsqxdwA16laPgXmKkI1Xu8SAveJxa3+Gi9VgyZ4uQ50LqceXjDWaRMew2u+FRwcX6pn1yhYb8pm2JOtAcKg/lYInk9hjAU8J6QIR2xYAOoY999nlBEo/Ml2/rqqdGfLb0nY8krOsw+RWLOw+B2LJKCPQUHbko01JsYxEdEhs0QNLu3/7frwJkOEv0s4etc2P8wBWJpJ4XmtOVKYRkMIPA6+WaVHcdx8RkpkT9XJWhJGcN3qeg5StRjy 7p9/oyKh SYjT1i+m9weLeyq9IBrFrMxe47TOGhvuoerFZQVPQK+pKKGei+ify6hM5wlj5x1IfSNZcKi+euIKSi2uaUfgQIqGbePWtBiutr7zu/3CmBB4BGfXFCP3VsC9Lw0Mkxjnko+OhcMFncIrfBHu8X3FV2itcqPMQb+0gwYp4eGhKWxwtYB8P9fYba6dIyu2iLkk6vS4Yq6umTCVOV0bwrghkZ2VyAIDKPdZzLdn+gBsnxx/vqEUk16u3rRMmb+vKyHhHKwLpM3Z6fNePYQb0qOFMs6r0FEh9YbfnxqQ7cDzuaq0bRYf1aK049Hr76ZB3FI0SfL/8jWJKl1IHc6JY3EpEW6adWlUZNHMiCp3hTQE/xpquC1UaW/K/n/WsB6vhZ9pyoYGN1aEn6JI/iRID3s+YjEEabtWq55kHx7uhwrAZVvAOCw36hA8DUf4QVUHai4ELcGZzC0x67uNH8sJobJh1v0SJYuMKZzMZF2zQ+I0xVinh0ekB4IYpnfcJJ/NNDFcD9P8xQtAL3JsO/fJ9aeF2pF0uhv8Ukz4Q6Ywfa8M9HHbsGUOQuXIcf4JfclPRp/T2xQ4flVF4s3rZNqxQkEZ4d/GrmHs89fRDzt3s1bGG6rtXKPiBT0CN9Tsz2hmzH68YIoLQJSRTU8XDjVonfLNHH/2kuVKLuiVqXJtMKSCdItwzY3DS6iUaKkwMSlqYAGujxbuXn054eugiSTq68nej7lapqeg7KJWWJxw0RrrbzwWqhMoc94czIZxnOkM+CM6yfx+QpnSk3Oj1nEswRnwnfJRgFBZ5ZmhvmvEL 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 15.05.23 21:07, Sean Christopherson wrote: > On Sun, May 14, 2023, Lorenzo Stoakes wrote: >> No invocation of get_user_pages() use the vmas parameter, so remove it. >> >> The GUP API is confusing and caveated. Recent changes have done much to >> improve that, however there is more we can do. Exporting vmas is a prime >> target as the caller has to be extremely careful to preclude their use >> after the mmap_lock has expired or otherwise be left with dangling >> pointers. >> >> Removing the vmas parameter focuses the GUP functions upon their primary >> purpose - pinning (and outputting) pages as well as performing the actions >> implied by the input flags. >> >> This is part of a patch series aiming to remove the vmas parameter >> altogether. >> >> Suggested-by: Matthew Wilcox (Oracle) >> Acked-by: Greg Kroah-Hartman >> Acked-by: David Hildenbrand >> Reviewed-by: Jason Gunthorpe >> Acked-by: Christian K�nig (for radeon parts) >> Acked-by: Jarkko Sakkinen >> Signed-off-by: Lorenzo Stoakes >> --- >> arch/x86/kernel/cpu/sgx/ioctl.c | 2 +- >> drivers/gpu/drm/radeon/radeon_ttm.c | 2 +- >> drivers/misc/sgi-gru/grufault.c | 2 +- >> include/linux/mm.h | 3 +-- >> mm/gup.c | 9 +++------ >> mm/gup_test.c | 5 ++--- >> virt/kvm/kvm_main.c | 2 +- >> 7 files changed, 10 insertions(+), 15 deletions(-) > > Acked-by: Sean Christopherson (KVM) > >> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c >> index cb5c13eee193..eaa5bb8dbadc 100644 >> --- a/virt/kvm/kvm_main.c >> +++ b/virt/kvm/kvm_main.c >> @@ -2477,7 +2477,7 @@ static inline int check_user_page_hwpoison(unsigned long addr) >> { >> int rc, flags = FOLL_HWPOISON | FOLL_WRITE; >> >> - rc = get_user_pages(addr, 1, flags, NULL, NULL); >> + rc = get_user_pages(addr, 1, flags, NULL); >> return rc == -EHWPOISON; > > Unrelated to this patch, I think there's a pre-existing bug here. If gup() returns > a valid page, KVM will leak the refcount and unintentionally pin the page. That's When passing NULL as "pages" to get_user_pages(), __get_user_pages_locked() won't set FOLL_GET. As FOLL_PIN is also not set, we won't be messing with the mapcount of the page. So even if get_user_pages() returns "1", we should be fine. Or am I misunderstanding your concern? At least hva_to_pfn_slow() most certainly didn't return "1" if we end up calling check_user_page_hwpoison(), so nothing would have been pinned there as well. -- Thanks, David / dhildenb