Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp639434img; Wed, 20 Mar 2019 07:55:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqzW2rwvazfbxh6YoOXBcjw8DeygbeqfbZ8oNQ08LFoKS7MHOIoZV13DIoskIE3k7tHDUayq X-Received: by 2002:a65:49c4:: with SMTP id t4mr29199841pgs.421.1553093728794; Wed, 20 Mar 2019 07:55:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553093728; cv=none; d=google.com; s=arc-20160816; b=CAlIlP+ctSxTs6Q9xJB1PS5x8KXcui1QV37vJvANlG8YuAyocVomvmoeLqn6znHqJL dVZB3E2qjgrpOtKAKjb3f09qg2MtvQBTMOB56ZLPFxGgA0ETWclaZsmj3yO1BUXsc6/2 dRcqF/AN04VX1fcuY+tlZf7NK8JDMA96N6TF+ThAGLocHy6JMkXfq5vMfmk0E34aLD8h b02eF8qG5RmAtIW5JBc8E23EFynaXYFKbebhoBe4r8lLu0yZdQr+7U22g81XjSWJsfa6 0h/dfnKO6zT9Ta1vAdNYimNan2Y3PNzrNzd4NlPNr+Q2hwHXlcFX6vql/7YMTsryOEmC wqiw== 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=f9ERttYki6e1riSpYQlVbWsSBMZZ5wUdNGpNySk9y5Q=; b=cF7n1ogtxDIo3FkF4EiGaZS2vvdA8nS01P9g/GRng9IhaZ3crypj14p4XuB3FfAixI miPM72/SjelM9akwFJj0aZm6SbEjTMMtyeQJMuwqeaNVC4Srz8kPR+p73qHAILN8l6Q2 0xBeqYsq4pasR622CBI1mVy9HU1fZ0j9FUDiM7F88HCbi4lj4x389dw++BPYnAJMSiO3 hybKtgN1CQb0kjm9FQ/QB+TXynCGPMirLzGw/3sa4OPvb5WBaT1L3aghcizFUg38BgzF rSqCz+lM4s5sRY0dHHFoJ8DcIFo73Rj/29SEj0aaOfV+zRBAu3/RMwrl7UyyCCSSAovE +l+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=UEIrebSo; 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 n9si1867460pgc.472.2019.03.20.07.55.12; Wed, 20 Mar 2019 07:55:28 -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=UEIrebSo; 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 S1727963AbfCTOwq (ORCPT + 99 others); Wed, 20 Mar 2019 10:52:46 -0400 Received: from mail-pf1-f202.google.com ([209.85.210.202]:44024 "EHLO mail-pf1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728667AbfCTOwo (ORCPT ); Wed, 20 Mar 2019 10:52:44 -0400 Received: by mail-pf1-f202.google.com with SMTP id 14so2750716pfh.10 for ; Wed, 20 Mar 2019 07:52:43 -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=f9ERttYki6e1riSpYQlVbWsSBMZZ5wUdNGpNySk9y5Q=; b=UEIrebSocaYvFV95VdsGvR0rHtsKUFScYsCVqiArhFekiKhlWYwiMy63Q0mC7IZj9p 3mqU7Dbhm6OqOVB4ThhETYV9ikDo0pqEW49iSRluDE7bkzQRnUB022yUHTxms2owX+51 Hl02fMI+fjjQXXTnP9hJUKytXL22/eMlF/bW9F6Y2oo6WfEnYpRt49Ftd9iSm88pEvyR KMbIbd0h7q6Pew5AmmXiW7TnoUcvWa8wf/gj7ZnzJQoLjgL/IjA++G9JudTdsHLO21Cq CbofADar+N5IG2433ecku3GOiSdWNlbt2i7KcQfTHs/DmBtW8hG6MdXe8FPq3GsM/Hb6 HDrw== 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=f9ERttYki6e1riSpYQlVbWsSBMZZ5wUdNGpNySk9y5Q=; b=O13JkKg5y9JjBYTnugYYdQkWgyVqYZMl26PEARmTtpUw15HBUPuSU6kPNlrZWAJgZY 1HeW5uJvf8gnCeV8rIgoRlqyueoRNk3t/TgbjRh0zSiSVQi+QxE7ZgjtKIOSDge/1hiq UtizY4W1kiz5FtBjtbj3L+FeDMOgumvR9v7vDCTne9V9tlZei4taiK6xIUODBZXboTSc yeRKBV9FEBpIyAzoDEa+/3bCpSNpYcHRUeVH3AL335HlUWGci/c9e1a23QtqYjeeChtL C8HHhBM4kyt/r8LLHIAS+bpVaJvsotOo9myN2jJ9OMjY24+1R5TLPAGSPDL0Pe7e8Cnk 7tqQ== X-Gm-Message-State: APjAAAXy4rnfjCFniU7mysCD+O8Q/gfKWypkoV3odDg6ARGekiNNiyeF ajpCRWUyW+q07rGJzjIqTElJsmjuIEwMIqwD X-Received: by 2002:a63:2ac2:: with SMTP id q185mr3933319pgq.119.1553093563022; Wed, 20 Mar 2019 07:52:43 -0700 (PDT) Date: Wed, 20 Mar 2019 15:51:32 +0100 In-Reply-To: Message-Id: <665632a911273ab537ded9acb78f4bafd91cbc19.1553093421.git.andreyknvl@google.com> Mime-Version: 1.0 References: X-Mailer: git-send-email 2.21.0.225.g810b269d1ac-goog Subject: [PATCH v13 18/20] tee/optee, arm64: untag user pointers in check_mem_type 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. check_mem_type() uses provided user pointers for vma lookups (via __check_mem_type()), which can only by done with untagged pointers. Untag user pointers in this function. Signed-off-by: Andrey Konovalov --- drivers/tee/optee/call.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c index a5afbe6dee68..e3be20264092 100644 --- a/drivers/tee/optee/call.c +++ b/drivers/tee/optee/call.c @@ -563,6 +563,7 @@ static int check_mem_type(unsigned long start, size_t num_pages) int rc; down_read(&mm->mmap_sem); + start = untagged_addr(start); rc = __check_mem_type(find_vma(mm, start), start + num_pages * PAGE_SIZE); up_read(&mm->mmap_sem); -- 2.21.0.225.g810b269d1ac-goog