From patchwork Wed Mar 20 14:51:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Konovalov X-Patchwork-Id: 10861893 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 42CCC14DE for ; Wed, 20 Mar 2019 14:52:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2898B28DAF for ; Wed, 20 Mar 2019 14:52:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1C38C28FB5; Wed, 20 Mar 2019 14:52:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A579729D88 for ; Wed, 20 Mar 2019 14:52:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C68096B000D; Wed, 20 Mar 2019 10:52:04 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id C15E96B000E; Wed, 20 Mar 2019 10:52:04 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ABECB6B0010; Wed, 20 Mar 2019 10:52:04 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by kanga.kvack.org (Postfix) with ESMTP id 74B046B000D for ; Wed, 20 Mar 2019 10:52:04 -0400 (EDT) Received: by mail-vs1-f71.google.com with SMTP id 2so502839vsf.15 for ; Wed, 20 Mar 2019 07:52:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=o/tjHBN+YdVOHlZBhUHSY9iDnhLS0V50uWJeHP43be4=; b=VULh+uA/b73eqFRvvUdIOLfHzfGTLZPgpNrMEooT9u9DkfZHxszhkIaFGFVwfGfSpy yYCLcjYK393YfA9dP0C9Cps1a4rp+vk/o1CXmZMMdvIwLBJg3xCX78SQwEnDpuf/xn5/ hNszVgaz53FF/ar9ukTKCEHXtQqWiii93Oi1/0n7pl6XfIpCwtgbzWAYus6tLvlPilk1 ph+S0C9OV7lA+I6q4Z8/0EKnALqpWG4cO3o7y/qw80XXpk1wBwhn1yXulZhL1CZ4D+1c xP/PGqgLR3PcmfJU9TzcbsIIC2hZ/i220x4D1+afX9DqZg419M0Y8ewqjiGz0dw4rTWY TZKA== X-Gm-Message-State: APjAAAWaBHqmVZrWd7siI/A+K98fB/efazseWtdZiaJzN7qSLpdyykEm MdQzldG7SXsyjPvF15s2ldyBHD+SUYtkzA87LHBHdqMSmsT9Nn7MtNEPKsVpTxX56ehng424USU sdqbHbyRKN6li0lu3QAbMnW7+b4GWlpYbOFHk8PUMKUBDYcoNfb9XrXC4rK3abcg22g== X-Received: by 2002:ab0:698c:: with SMTP id t12mr4591101uaq.52.1553093524130; Wed, 20 Mar 2019 07:52:04 -0700 (PDT) X-Received: by 2002:ab0:698c:: with SMTP id t12mr4591047uaq.52.1553093523053; Wed, 20 Mar 2019 07:52:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553093523; cv=none; d=google.com; s=arc-20160816; b=UtnuMIx5xV71dCbLAxZU2d8QBV6rRdGHzHJ1km9hpAjGxGHP8Ukxu0KLQ3b6xPZud7 p/eHz+CuPyzkhpvQCw3+0cPg12ttgqL/3UAVOCaGTCq4v0jm8Cy9wwr+OzwvMGgWJDSz NtD0ombXLUSbSQv88B1XmSgsNQ9227v2X0w0WmW7qPKQ/vymsU06yEPO/6h6QPV9U9Th LpjOlgkiScECEI86+dhAlyBW+WsL9K1nrA5y8fTepngB2lLU1gwnWmZgkXu0d9pPeehX qP2EHdxzPkn1+XIzTTWMFBgWq9R9zs0wYKE7rRz/nK+N2WEm5hHIru0qMJmCop16lsb2 ewTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:dkim-signature; bh=o/tjHBN+YdVOHlZBhUHSY9iDnhLS0V50uWJeHP43be4=; b=zP0anV90NSfICeprfN0Enf0BMilKQXX1fH5P5zVOny3/OT3s9WvbAL4pdSrlh4Rll3 4IyNoj7ZljZPpwaLgCSs9krMjmKrq0wsoNbF4Z3HS4vUmPTRfs6X1KGzO3Bap6c2VV45 plbNeFC8gm2viMUZgf4kWlYCxyJXeYwBCKo+UEgqz4kECtcOHyZiXmf52Gns70awgryJ CLu6fGvFn19FQewBWJMbL3mrYMz/BQG9lMXp8fKQ5khcLg58UzxUBC8VuPiykiYE5uIV HkaIDxLJOp98WETwK8kPcUoW+7YY1+PPr6AV63z96j4WkXlrTQMNmHRZkej8ApzmUL0n QaXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=A+JYGhZ3; spf=pass (google.com: domain of 3klosxaokcg0lyocpjvygwrzzrwp.nzxwtyfi-xxvglnv.zcr@flex--andreyknvl.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=3klOSXAoKCG0LYOcPjVYgWRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--andreyknvl.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from mail-sor-f73.google.com (mail-sor-f73.google.com. [209.85.220.73]) by mx.google.com with SMTPS id i14sor1775039vsp.122.2019.03.20.07.52.03 for (Google Transport Security); Wed, 20 Mar 2019 07:52:03 -0700 (PDT) Received-SPF: pass (google.com: domain of 3klosxaokcg0lyocpjvygwrzzrwp.nzxwtyfi-xxvglnv.zcr@flex--andreyknvl.bounces.google.com designates 209.85.220.73 as permitted sender) client-ip=209.85.220.73; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=A+JYGhZ3; spf=pass (google.com: domain of 3klosxaokcg0lyocpjvygwrzzrwp.nzxwtyfi-xxvglnv.zcr@flex--andreyknvl.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=3klOSXAoKCG0LYOcPjVYgWRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--andreyknvl.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=o/tjHBN+YdVOHlZBhUHSY9iDnhLS0V50uWJeHP43be4=; b=A+JYGhZ3fQkhscb6lUBmQ1muz6oemHopDmPki/B278rzjZ0dk/UjohSsOxEu8keiCi W5/VXLZ67gUh0RZN3rq5skpPYsUC7oWDq+tl+3khHwdNxCrmhkhxq7w99dcsLgc3Elx7 dmeBy427vSPfFNaJS7DfUhAb/Fwd/EACn2TYRVMksoGnObzxZTWUPnBuSuAiS/JRvPZA f0EsOCj85jPSuENzq/Bg7zakYTOA4bo6fX1BKjPllZeRcF3GtXBJjjiVIF4U6HkOW9id X49/giQrlJvYsmuoQtVxMGCVLZT2pR3apmEVULZaKks3LsI2Ip7Pr6oRl+H4swKOnmZR D5tA== X-Google-Smtp-Source: APXvYqyHOngs34In5uhQcXPzOfQqpf0ARHPrNyLHXpzz5ogONfScZvSMOj1YE9ihREsOQQ2kQeo8TqNX7xzilecW X-Received: by 2002:a67:7651:: with SMTP id r78mr6363022vsc.39.1553093522664; Wed, 20 Mar 2019 07:52:02 -0700 (PDT) Date: Wed, 20 Mar 2019 15:51:20 +0100 In-Reply-To: Message-Id: Mime-Version: 1.0 References: X-Mailer: git-send-email 2.21.0.225.g810b269d1ac-goog Subject: [PATCH v13 06/20] mm, arm64: untag user pointers in get_vaddr_frames From: Andrey Konovalov To: Catalin Marinas , Will Deacon , Mark Rutland , Robin Murphy , Kees Cook , Kate Stewart , Greg Kroah-Hartman , Andrew Morton , Ingo Molnar , "Kirill A . Shutemov" , Shuah Khan , Vincenzo Frascino , Eric Dumazet , "David S. Miller" , Alexei Starovoitov , Daniel Borkmann , Steven Rostedt , Ingo Molnar , Peter Zijlstra , Arnaldo Carvalho de Melo , Alex Deucher , " =?utf-8?q?Christian_K=C3=B6ni?= =?utf-8?q?g?= " , "David (ChunMing) Zhou" , Yishai Hadas , Mauro Carvalho Chehab , Jens Wiklander , Alex Williamson , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-rdma@vger.kernel.org, linux-media@vger.kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Dmitry Vyukov , Kostya Serebryany , Evgeniy Stepanov , Lee Smith , Ramana Radhakrishnan , Jacob Bramley , Ruben Ayrapetyan , Chintan Pandya , Luc Van Oostenryck , Dave Martin , Kevin Brodsky , Szabolcs Nagy , Andrey Konovalov 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: X-Virus-Scanned: ClamAV using ClamSMTP This patch is a part of a series that extends arm64 kernel ABI to allow to pass tagged user pointers (with the top byte set to something else other than 0x00) as syscall arguments. get_vaddr_frames uses provided user pointers for vma lookups, which can only by done with untagged pointers. Instead of locating and changing all callers of this function, perform untagging in it. Signed-off-by: Andrey Konovalov --- mm/frame_vector.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/frame_vector.c b/mm/frame_vector.c index c64dca6e27c2..c431ca81dad5 100644 --- a/mm/frame_vector.c +++ b/mm/frame_vector.c @@ -46,6 +46,8 @@ int get_vaddr_frames(unsigned long start, unsigned int nr_frames, if (WARN_ON_ONCE(nr_frames > vec->nr_allocated)) nr_frames = vec->nr_allocated; + start = untagged_addr(start); + down_read(&mm->mmap_sem); locked = 1; vma = find_vma_intersection(mm, start, start + 1);