Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2661209yba; Mon, 6 May 2019 09:33:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqxBBupDbU1hKw+PTgELYPeuywr3l+9rkj8dOsVkv/53PvfR48Pcj43SBPaZC6VfyJecTtZr X-Received: by 2002:a65:43c8:: with SMTP id n8mr32043658pgp.365.1557160387098; Mon, 06 May 2019 09:33:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557160387; cv=none; d=google.com; s=arc-20160816; b=JNWqY7nztUUYnMHyjHa1YU1vkxPhpy2MOYRaHhZrKt/GI78cJxrBMwS3xDJOEyuAjR vfLhBueVHYGmGGVrN+R6tZyQ4+YK1YQxQn4xsoHvZBfzhDlfFjQ/Z4qHNPeiI9h1J0Px Jl5nrNVRoa7ZUFKRJEQQMkZQO4YfsoWt2pIEYHQumJiTuNvenD4OALUb6xdessCIKkuJ LwqQLV+MobvySqLItdDEaC9oygzYJ/cWFCZO3FX0KOS3fqhY4Wl6tlR9TNqH8IKu2cMN WG1G/5PEIwY14D7dkT2qgl5vqoRHRO/d2wglWamHqYc58Khg00oWB+J48JeNu/r2kesC k42Q== 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=9noxdAH/DJOJ2FYayyiyYQz8DnKHvszaUU/XpncZrgo=; b=flDDzFXuNkfJnePklOzXV8IGmFsNixRyeWMzWJvf90tbGj0Rm6o1heyDz1CdU3Hn4G JE4g8SrIs1xDhZjG+AvubrB1atzp0ztHJWVbaVbTLAQSZCqz33wDlfEhRfhgcfRm+NCA KzLmhIsqnWIYoh8fnkgIM5jJ4zDIxophALeS8fyyjd7JZw6/gQatAIhIy67d88GobRh5 pQ9l1O1ZE5sm5AO31tKmowMzf7WYvG5KoTcMv/8k68ZGdrVYACLzQvf5MKH3GLhdHHSb fwnGgJlkgWPi3Y8EQggISyiIaC2o3xWKnrIDeehh5prOKr2r4rkjLs00IpB8O7XyW4xE Hmlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Gh9uHUEw; 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 u4si15286818pgp.477.2019.05.06.09.32.50; Mon, 06 May 2019 09:33:07 -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=Gh9uHUEw; 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 S1727130AbfEFQbe (ORCPT + 99 others); Mon, 6 May 2019 12:31:34 -0400 Received: from mail-qk1-f201.google.com ([209.85.222.201]:54609 "EHLO mail-qk1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727050AbfEFQbc (ORCPT ); Mon, 6 May 2019 12:31:32 -0400 Received: by mail-qk1-f201.google.com with SMTP id k68so14959387qkd.21 for ; Mon, 06 May 2019 09:31:32 -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=9noxdAH/DJOJ2FYayyiyYQz8DnKHvszaUU/XpncZrgo=; b=Gh9uHUEwhI8X3KH3oum4TP3+K5YcLVeFgNxy28sxooe9hD0KxqO+/9bu9ASe+gwO9m +npnzk9MzBx/G95AnHz8npJA2JLqfUYczohkOpf1cDAEGWB/X7jH7ATuoeQyoUMeyaJE M+s2UJpwoXBo6kJQ8MvPZRd/OM9IAl3ZUMX+L/PvePvsqcjFIcb/KoU1n2dvqK/g4dyS WX9LAM4MfJzSphXX3HTjOHZ2WfucwXBSdBhXaGaeltxjREoqu7g25XXVhrt4uPYNQRup Pi925C63hraEJZZpZwP5S6UZPdegfoPkW1yuXxVcy9QEkU3hg9EUu8QmKcerWhcvmd7i pz0w== 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=9noxdAH/DJOJ2FYayyiyYQz8DnKHvszaUU/XpncZrgo=; b=LlY0l9SwwDeT4pNq0ZnI7/evKGmc1e/YqsKVRVzuGXcxucafH8LvH1a4vs8Jce6qjs STK69pviN1zrnZkhRwS4DYlwuLa0E88i/V5F+Npg7oJ18SUtrN5MWJkaXIwuFtQPvam9 vox8lM+5e3sBZFt6M1brgGXkCNbMmloCEDZNnvYnsL6rwWiVDsQr3LdgC/IHMWbTwJ+r IDizVXxwHKodndoGDt5iyptYG/Age4t2vvguEG1VbTvHqDpGdWKgifBrRoy0GYC7pJ+Z LbmaFugF4Ln1XR/XFFgf8MFnOn799FF8+1J3fn7vdRxnyH/sAEQRK/erW+5zl8G4IoCn X7WA== X-Gm-Message-State: APjAAAVCkzkLnRBzU+gfuTljywJZfJ+LZ3Ftx9AYnZ2D/n5J2ies9+pB gox7uDRcBLPMHHnaY1II20m06MsZvURNc+uC X-Received: by 2002:ad4:540b:: with SMTP id f11mr5876305qvt.42.1557160291702; Mon, 06 May 2019 09:31:31 -0700 (PDT) Date: Mon, 6 May 2019 18:30:54 +0200 In-Reply-To: Message-Id: Mime-Version: 1.0 References: X-Mailer: git-send-email 2.21.0.1020.gf2820cf01a-goog Subject: [PATCH v15 08/17] mm, arm64: untag user pointers in get_vaddr_frames From: Andrey Konovalov To: linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@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 Cc: Catalin Marinas , Vincenzo Frascino , Will Deacon , Mark Rutland , Andrew Morton , Greg Kroah-Hartman , Kees Cook , Yishai Hadas , Felix Kuehling , Alexander Deucher , Christian Koenig , Mauro Carvalho Chehab , Jens Wiklander , Alex Williamson , Leon Romanovsky , Dmitry Vyukov , Kostya Serebryany , Evgeniy Stepanov , Lee Smith , Ramana Radhakrishnan , Jacob Bramley , Ruben Ayrapetyan , Robin Murphy , 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.1020.gf2820cf01a-goog