Re: [PATCH v2] sparc64: Add support for Application Data Integrity (ADI)

From: Khalid Aziz
Date: Mon Mar 07 2016 - 16:07:41 EST

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 ( 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.