Message ID | 1203c510e5c34e97e5940688df075d69429e94de.1529507994.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 45A4860230 for <patchwork-linux-mm@patchwork.kernel.org>; Wed, 20 Jun 2018 15:24:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 36CF228F48 for <patchwork-linux-mm@patchwork.kernel.org>; Wed, 20 Jun 2018 15:24:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 28D2E28F3C; Wed, 20 Jun 2018 15:24:48 +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 ABFC628F3C for <patchwork-linux-mm@patchwork.kernel.org>; Wed, 20 Jun 2018 15:24:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E62B6B000C; Wed, 20 Jun 2018 11:24:38 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 3428E6B000D; Wed, 20 Jun 2018 11:24:38 -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 1E65B6B000E; Wed, 20 Jun 2018 11:24:38 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-wm0-f70.google.com (mail-wm0-f70.google.com [74.125.82.70]) by kanga.kvack.org (Postfix) with ESMTP id B521B6B000C for <linux-mm@kvack.org>; Wed, 20 Jun 2018 11:24:37 -0400 (EDT) Received: by mail-wm0-f70.google.com with SMTP id g78-v6so32803wmg.9 for <linux-mm@kvack.org>; Wed, 20 Jun 2018 08:24:37 -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:from:to:cc:subject:date :message-id:in-reply-to:references; bh=0SdcYFgQOnNQJBlnlcaX0uJ4bOsKrRicmvs7y9kVSAg=; b=M5WCBwEmBQeUddnA05nM/HpL9RbjjvIlsDvI0JR36QBSNb0D64cQZ/ebP+EuvousQo bLLwTvex2NrQbG2VGnv96NcrFzBdiQp6eGJrTiwUjPFTyyy72WANMtQzdngzjpbbUSYC wn0nEMlQsitphzkX0ykMcKjrTVfSmzFP3m3uQ8wkig1vSB1tRS6yfape/tQ16eRkx5ZH RYJnOErdRBEXz7r4TKOrjw27qN9/iln/Znh065dO+oRaXjA8jqTuwsZSADGjexuBEPKC aUcUo5DbzRvFFr8FJVD1EUYOA0Cu9pNGEu7aj31lR3oqru63A857WVKsT01XzJJfRu0c b2vg== X-Gm-Message-State: APt69E1saSdpnW23oXWymkNoUhjF8I6kCnFCneJvTSpGwoybU/VQvI09 V/rcgbsJJ/jXTCbkr+IWgCZYos/S/okmKUUOB8zOLwF5vCPxNjqZnaeiJfGZlv85qOfsvWynye5 4uWCG1unNC1qvYLF1fZVbKXDGY22GuPzNg52gkwlBbEhL97DQeOz0nJmR+5+TzurYg7JG0vq004 S+5vAlOSFtDZuZc9XhXUfOKQ6ATmXP+t5oOeMnlx845jX5R+0cq+AgKmvt3NhyO0SPAFd2sFnDI bLQJ4TrBxnx+bDz6kBFla/dD88MAJ/qzs1/J6UzWa588XYVpnwrWBQmNO6MnlGr5sGQkEZ7oodo wXGdz+a6Pmm6i/DIKWuDKkxJ/+ycnjcRXB6mFffwWePF+k1RUkwbleIVnM/jtQifs5+woWiYUqm z X-Received: by 2002:adf:e285:: with SMTP id v5-v6mr16978575wri.54.1529508277313; Wed, 20 Jun 2018 08:24:37 -0700 (PDT) X-Received: by 2002:adf:e285:: with SMTP id v5-v6mr16978528wri.54.1529508276479; Wed, 20 Jun 2018 08:24:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529508276; cv=none; d=google.com; s=arc-20160816; b=JHO/a2XPCBtcO4IqymWQQ/UEscC0vcLyKljpnYik55xAlL1/RAKFur+p2MAR0nPjx7 scbJ6HmYjy1rADhpqjTNCe5WnCmGOjAtaynLUdw4we84DJyWIvks8kpghUOW4euXKBP7 FFjNWIcWHVb+i9MzaCbzAu+zAwXg1Ir4ETd5O/0DdO79LI6+bmYRxeco9JYTVoJTPuDz 8rNNMxnMWQxv1AhJgEKu37YtFEz34BnR9/fbET8S9OiIKUC301uQhkj49g+fWn9A+SRB EIDO30tDepcX0DjLx5BT5+MbtQHFWntSj1x2miM5KKd6dN8ZV6tXoQVhuFdqGxWBCqrG ssNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=0SdcYFgQOnNQJBlnlcaX0uJ4bOsKrRicmvs7y9kVSAg=; b=VDh6XfR/7hwBuaQxRtlKhzsNTg/oR+F8XdxzHkJHi8MSQ4aW2is294Y9Bdt4zN57Ri nL79R7lbwVz5ngZ0Z8dG59LfyIFotw3HweTeASgJJXuPtOw0hVKHnwGFEZ39QNq9AqqB jx9zVaN8sxnwGd3AWFK5oBaC6NUyUhfx137f2ZwqPPuFksk1k87/vyrOiarXcdXVPbpn XilAwCL0Ua6FQfctqLppX2xGvtNj4l9gpb/P+bvG4eyxxZnG7QIAzIu68hP48Be6vzLZ J2KX+YokNKMuf/aq/15oj/4FvbfMI77/ljEXvEFr/PUbAuBCD98twyUbhnfHPTnXQYYl YgNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=RaNvG3rp; spf=pass (google.com: domain of andreyknvl@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=andreyknvl@google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id t12-v6sor1375243wrp.50.2018.06.20.08.24.36 for <linux-mm@kvack.org> (Google Transport Security); Wed, 20 Jun 2018 08:24:36 -0700 (PDT) Received-SPF: pass (google.com: domain of andreyknvl@google.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=RaNvG3rp; spf=pass (google.com: domain of andreyknvl@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=andreyknvl@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=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0SdcYFgQOnNQJBlnlcaX0uJ4bOsKrRicmvs7y9kVSAg=; b=RaNvG3rpL9QFAwkfOD4I9SM046U787iU3B85YRqsuN5Yeu23YI522cJzYBjAfTBtEN lh+/9ZLiM1S0yf08/mT9u5qCYDldPMDKr8yJb2ZiZDu/Eh6oZYXAW+p8L6noF1rH5T1n Q0opphjG2XPih7UnNTJ6XTtOdspP5rVTGYw03vEoK0wHQGMPdqxq3CEdQFpvW3ODCa14 rLuflyTTE+/VuGes4koZIsMrqS2/Yl+KzPpnfH+35T1fgVBq1747fWhUpnGDNnj7sKrc Gx81x4z25O5vYT2j2Tol7tkYXN6GgNp4w6BsyB7BDMMM9Pxu/4IGnS4Lm132kM9tB+Q1 hqCA== X-Google-Smtp-Source: ADUXVKLXT94yC0cFozFu3kmSJDBexRMscv440Gy63zDsomyYjwP//+06z4JAxvYtKPL1B+wvy3NnwQ== X-Received: by 2002:adf:aca7:: with SMTP id o36-v6mr1408574wrc.258.1529508275965; Wed, 20 Jun 2018 08:24:35 -0700 (PDT) Received: from andreyknvl0.muc.corp.google.com ([2a00:79e0:15:10:84be:a42a:826d:c530]) by smtp.gmail.com with ESMTPSA id c11-v6sm3959244wrm.65.2018.06.20.08.24.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jun 2018 08:24:34 -0700 (PDT) From: Andrey Konovalov <andreyknvl@google.com> To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, Al Viro <viro@zeniv.linux.org.uk>, Andrey Konovalov <andreyknvl@google.com>, Kees Cook <keescook@chromium.org>, Kate Stewart <kstewart@linuxfoundation.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Andrew Morton <akpm@linux-foundation.org>, Ingo Molnar <mingo@kernel.org>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Shuah Khan <shuah@kernel.org>, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Dmitry Vyukov <dvyukov@google.com>, Kostya Serebryany <kcc@google.com>, Evgeniy Stepanov <eugenis@google.com>, Lee Smith <Lee.Smith@arm.com>, Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>, Jacob Bramley <Jacob.Bramley@arm.com>, Ruben Ayrapetyan <Ruben.Ayrapetyan@arm.com>, Chintan Pandya <cpandya@codeaurora.org> Subject: [PATCH v4 4/7] mm, arm64: untag user addresses in mm/gup.c Date: Wed, 20 Jun 2018 17:24:23 +0200 Message-Id: <1203c510e5c34e97e5940688df075d69429e94de.1529507994.git.andreyknvl@google.com> X-Mailer: git-send-email 2.18.0.rc1.244.gcf134e6275-goog In-Reply-To: <cover.1529507994.git.andreyknvl@google.com> References: <cover.1529507994.git.andreyknvl@google.com> 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: <linux-mm.kvack.org> X-Virus-Scanned: ClamAV using ClamSMTP |
diff --git a/mm/gup.c b/mm/gup.c index b70d7ba7cc13..5bb351c91989 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -666,6 +666,8 @@ static long __get_user_pages(struct task_struct *tsk, struct mm_struct *mm, if (!nr_pages) return 0; + start = untagged_addr(start); + VM_BUG_ON(!!pages != !!(gup_flags & FOLL_GET)); /* @@ -820,6 +822,8 @@ int fixup_user_fault(struct task_struct *tsk, struct mm_struct *mm, struct vm_area_struct *vma; int ret, major = 0; + address = untagged_addr(address); + if (unlocked) fault_flags |= FAULT_FLAG_ALLOW_RETRY;
mm/gup.c provides a kernel interface that accepts user addresses and manipulates user pages directly (for example get_user_pages, that is used by the futex syscall). Here we also need to handle the case of tagged user pointers. Add untagging to gup.c functions that use user pointers for vma lookup. Signed-off-by: Andrey Konovalov <andreyknvl@google.com> --- mm/gup.c | 4 ++++ 1 file changed, 4 insertions(+)