Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753565AbcCGVHh (ORCPT ); Mon, 7 Mar 2016 16:07:37 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:39710 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752850AbcCGVHa (ORCPT ); Mon, 7 Mar 2016 16:07:30 -0500 Subject: Re: [PATCH v2] sparc64: Add support for Application Data Integrity (ADI) To: Dave Hansen , Andy Lutomirski , Rob Gardner References: <1456951177-23579-1-git-send-email-khalid.aziz@oracle.com> <20160305.230702.1325379875282120281.davem@davemloft.net> <56DD9949.1000106@oracle.com> <56DD9E94.70201@oracle.com> <56DDA6FD.4040404@oracle.com> <56DDBE68.6080709@linux.intel.com> Cc: David Miller , Jonathan Corbet , Andrew Morton , dingel@linux.vnet.ibm.com, zhenzhang.zhang@huawei.com, bob.picco@oracle.com, "Kirill A. Shutemov" , "Aneesh Kumar K.V" , Andrea Arcangeli , Arnd Bergmann , sparclinux@vger.kernel.org, Michal Hocko , chris.hyser@oracle.com, Richard Weinberger , Vlastimil Babka , Konstantin Khlebnikov , Oleg Nesterov , Greg Thelen , Jan Kara , xiexiuqi@huawei.com, Vineet.Gupta1@synopsys.com, Andrew Lutomirski , "Eric W. Biederman" , bsegall@google.com, Geert Uytterhoeven , Davidlohr Bueso , Alexey Dobriyan , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , linux-arch , Linux API From: Khalid Aziz Organization: Oracle Corp Message-ID: <56DDED63.8010302@oracle.com> Date: Mon, 7 Mar 2016 14:06:43 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56DDBE68.6080709@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 940 Lines: 20 On 03/07/2016 10:46 AM, Dave Hansen wrote: > On 03/07/2016 08:06 AM, Khalid Aziz wrote: >> Top 4-bits of sparc64 virtual address are used for version tag only when >> a process has its PSTATE.mcde bit set and it is accessing a memory >> region that has ADI enabled on it (TTE.mcd set) and a version tag was >> set on the virtual address being accessed. These 4-bits retain their >> original semantics in all other cases. > > OK, so this effectively reduces the address space of a process using the > feature. Do we need to do anything explicit to keep an app from using > that address space? Do we make sure the kernel doesn't place VMAs > there? Do we respect mmap() hints that try to place memory there? > Good questions. Isn't set of valid VAs already constrained by VA_BITS (set to 44 in arch/sparc/include/asm/processor_64.h)? As I see it we are already not using the top 4 bits. Please correct me if I am wrong. Thanks, Khalid