Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7260821ybi; Thu, 1 Aug 2019 05:40:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqxDVGA7BGJDKnM3HaKXjNwm3rVhZokA3DKIDfcOayGl0/f4vz1UR5LLvHWQ3AnjiOU65JFN X-Received: by 2002:a62:b615:: with SMTP id j21mr51933446pff.190.1564663257374; Thu, 01 Aug 2019 05:40:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564663257; cv=none; d=google.com; s=arc-20160816; b=k1Bod8utC/urV97Zr5Op5JZHPwRkJSMsah12k9c3L6iRJhuLCvdty1C8LLK8raSI8L HEaIJuxsHwNivgwf6EgAkGshF7c+aBh+S2c3wxRqj241XQEft7It/RXoGsdLu65d4z0O M5eQwyMFPCvINwbozySdQ/6/bnrrmWkJtYIr74TJTldmGcyjEpSPo34rYSDmT5Nqtg7k TMZX7pD3JCTGAfdYE5AjIuiR3vDOw6Iwde2Ov6YlHybBkqmtOLPO42PNSi2/ROFlQ8yG 0RCAJR2R5xC1Dkjtge1u++XhoM0tMjLoREs1GKvR7bv8ZLp/qLNCiht2KU4Gx/ECA5uO 7emA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=FGqFsvMxdwHLi/i98DdZLnfv4f3Ll3j2BcnZJ8sgLAM=; b=kuj+9VtALxYGNTayKOJFxH91hjXg2vmQc61t45g8zOnOdBki12PqsX8k1zqKSJnJKO KYdIh7/2TWezcw2eI4nio7u3GA+ZKb6/ToPOO4P1bTYSJKnQj+dgL3biwngwt1z/m4L4 /RhVSPpSXWcKuUyUMVN4qEYcjlzjIIhh9K8i17dcjC25JA4DsBSUaWABWL10J73EZZO3 OFX9ZloUQ8FhY4iSCPHqmPkgWHYXRzoSx/EcY+nAyFTNindPHPF8Od9Vba094+nrRBR9 Y7iI07qUerYKuCrA2QAdYTzC6aJxM2OOLKE1U6PKCo2cfUItvtN2WurFUqx+KTzzVdeo MxeA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 3si32329619plr.131.2019.08.01.05.40.41; Thu, 01 Aug 2019 05:40:57 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731350AbfHAMiP (ORCPT + 99 others); Thu, 1 Aug 2019 08:38:15 -0400 Received: from foss.arm.com ([217.140.110.172]:35274 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726422AbfHAMiN (ORCPT ); Thu, 1 Aug 2019 08:38:13 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EA8AC1570; Thu, 1 Aug 2019 05:38:12 -0700 (PDT) Received: from [10.1.194.48] (e123572-lin.cambridge.arm.com [10.1.194.48]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E84103F575; Thu, 1 Aug 2019 05:38:07 -0700 (PDT) Subject: Re: [PATCH v19 02/15] arm64: Introduce prctl() options to control the tagged user addresses ABI To: Dave Hansen , Andrey Konovalov , 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 , Luc Van Oostenryck , Dave Martin , Khalid Aziz , enh , Jason Gunthorpe , Christoph Hellwig , Dmitry Vyukov , Kostya Serebryany , Evgeniy Stepanov , Lee Smith , Ramana Radhakrishnan , Jacob Bramley , Ruben Ayrapetyan , Robin Murphy , Szabolcs Nagy References: <1c05651c53f90d07e98ee4973c2786ccf315db12.1563904656.git.andreyknvl@google.com> <7a34470c-73f0-26ac-e63d-161191d4b1e4@intel.com> From: Kevin Brodsky Message-ID: <2b274c6f-6023-8eb8-5a86-507e6000e13d@arm.com> Date: Thu, 1 Aug 2019 13:38:06 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <7a34470c-73f0-26ac-e63d-161191d4b1e4@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 31/07/2019 18:05, Dave Hansen wrote: > On 7/23/19 10:58 AM, Andrey Konovalov wrote: >> +long set_tagged_addr_ctrl(unsigned long arg) >> +{ >> + if (!tagged_addr_prctl_allowed) >> + return -EINVAL; >> + if (is_compat_task()) >> + return -EINVAL; >> + if (arg & ~PR_TAGGED_ADDR_ENABLE) >> + return -EINVAL; >> + >> + update_thread_flag(TIF_TAGGED_ADDR, arg & PR_TAGGED_ADDR_ENABLE); >> + >> + return 0; >> +} > Instead of a plain enable/disable, a more flexible ABI would be to have > the tag mask be passed in. That way, an implementation that has a > flexible tag size can select it. It also ensures that userspace > actually knows what the tag size is and isn't surprised if a hardware > implementation changes the tag size or position. > > Also, this whole set deals with tagging/untagging, but there's an > effective loss of address space when you do this. Is that dealt with > anywhere? How do we ensure that allocations don't get placed at a > tagged address before this gets turned on? Where's that checking? This patch series only changes what is allowed or not at the syscall interface. It does not change the address space size. On arm64, TBI (Top Byte Ignore) has always been enabled for userspace, so it has never been possible to use the upper 8 bits of user pointers for addressing. If other architectures were to support a similar functionality, then I agree that a common and more generic interface (if needed) would be helpful, but as it stands this is an arm64-specific prctl, and on arm64 the address tag is defined by the architecture as bits [63:56]. Kevin