Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp641398img; Wed, 20 Mar 2019 07:57:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqyq272FqkD3a3FmZ/sNS6A2le65zGxhe5nqZr47FzE/tW1fsXcZq9HMb1gdSrvMVvD1A/D4 X-Received: by 2002:a17:902:5a5:: with SMTP id f34mr8418209plf.35.1553093876459; Wed, 20 Mar 2019 07:57:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553093876; cv=none; d=google.com; s=arc-20160816; b=tr8a1ysw5/ruxAa1Ge1uTOvIQLbWf743/QaR/LZi6oFrGZQ6ahyA+lVTJJVySLuEii IKN+d/dgp/yuJ3Jg8RrtTLfQ94cD6Ih9mPKVk/0bfK317ZtS0Kc1j6QawU1bQxF29UDT SsONqZJFq2JG911GnLCRPIY+URBMAscR16PkECNEEfUXbPvgKc675Wshj+r2htsnpOyL ixmQSrs/dTnpCezWGMg5tExlOqSd4c57cyCb/T+mBw2YATPCxijtBIZKkPMSLRUZTiUM uuUHsGGbHM8mEJBe0wTqbK1x4GmZ8xMoxMkNyq1lXcNHupxHRsBu3xhyQ47v5dBAPe8b XsJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:dkim-signature; bh=o/tjHBN+YdVOHlZBhUHSY9iDnhLS0V50uWJeHP43be4=; b=w/NrnqHzlXwGkng32a7G4iLmOwNOaibEVBDbVPoN44RsKiesF+aeWf6vv21SybbJ4Y IcwhXJS65LyHQNixpan0T3agAazYmSSCvcFKjC+FzK7CQiqiz1ZvY5ZwcfZnum8vQTFh Iswx98R+ZRC3oAbDvKNP+u6mls3DgI0t6oLf4hzUlsW8v2AULJtv+vyHmfAqag/TwpSM cGjxtvuq/wje7+L+isdg0nZ2qRckwjVKmZ1ECKphZAO1Hlozff2xLt1RZ8gN33ki3VnZ 7NIinSkeojj3Rx3FtUvDmXcARvpdV2zcUPfdn97JVRgzmCIJs6TAYAc+Il7a+nhzaX99 dY0w== 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: 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a1si1737489pgq.38.2019.03.20.07.57.40; Wed, 20 Mar 2019 07:57:56 -0700 (PDT) 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; dkim=pass header.i=@google.com header.s=20161025 header.b=A+JYGhZ3; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728687AbfCTOzD (ORCPT + 99 others); Wed, 20 Mar 2019 10:55:03 -0400 Received: from mail-ua1-f74.google.com ([209.85.222.74]:45805 "EHLO mail-ua1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728444AbfCTOwD (ORCPT ); Wed, 20 Mar 2019 10:52:03 -0400 Received: by mail-ua1-f74.google.com with SMTP id c26so214628uar.12 for ; Wed, 20 Mar 2019 07:52:03 -0700 (PDT) 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-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=o/tjHBN+YdVOHlZBhUHSY9iDnhLS0V50uWJeHP43be4=; b=fmCbJVnEp/GEQb7AkHCwHk5Malz+s8iYhK5CV2YaiVuk3JN6vrBZIHdD3zWAVpvj2k TK7cCvUhr9Np8mkL3TA/p6y8tAxgQlkGWq0+ZNwZf/TcKZ4tP/GCU98wTRT/bB2kQZ4f deltEwPYIQFZNi9NQfM/O4MYu9Z8g1b8bUhU69UakvzMbdnOcefxxy+V0Xi8fBSxNo1p sVjHO4gPPcUHXn0V34o88DqWIA6WpF2wJUgjT/tO9QMQ8WvUT4IXbpNZIw1VJAE2b6LW ++03xEqXr1okPqgm622Te6d4fdDMYQSsY+kznQat36DROV4qVgF2LH0VNJUkE5d8dSSE WSZg== X-Gm-Message-State: APjAAAXN1AH+QiNMCxS3e00PtIiNI8AJoQSkHxAAwasuWkuGBwFA35ol JZcjbNwHvtzejTRd6LlewdpyTYmFZS5eU+uG 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=20K=C3=B6nig?=" , "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 Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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); -- 2.21.0.225.g810b269d1ac-goog