From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f178.google.com (mail-pf0-f178.google.com [209.85.192.178]) by kanga.kvack.org (Postfix) with ESMTP id 9EF586B0256 for ; Mon, 7 Mar 2016 13:25:24 -0500 (EST) Received: by mail-pf0-f178.google.com with SMTP id x188so60165893pfb.2 for ; Mon, 07 Mar 2016 10:25:24 -0800 (PST) Received: from aserp1040.oracle.com (aserp1040.oracle.com. [141.146.126.69]) by mx.google.com with ESMTPS id fe1si6871516pac.200.2016.03.07.10.25.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Mar 2016 10:25:23 -0800 (PST) Subject: Re: [PATCH v2] sparc64: Add support for Application Data Integrity (ADI) References: <1456951177-23579-1-git-send-email-khalid.aziz@oracle.com> <20160305.230702.1325379875282120281.davem@davemloft.net> <56DD9949.1000106@oracle.com> <20160307.115626.807716799249471744.davem@davemloft.net> <56DDC2B6.6020009@oracle.com> <56DDC3EB.8060909@oracle.com> From: Khalid Aziz Message-ID: <56DDC776.3040003@oracle.com> Date: Mon, 7 Mar 2016 11:24:54 -0700 MIME-Version: 1.0 In-Reply-To: <56DDC3EB.8060909@oracle.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Rob Gardner , David Miller Cc: corbet@lwn.net, akpm@linux-foundation.org, dingel@linux.vnet.ibm.com, bob.picco@oracle.com, kirill.shutemov@linux.intel.com, aneesh.kumar@linux.vnet.ibm.com, aarcange@redhat.com, arnd@arndb.de, sparclinux@vger.kernel.org, mhocko@suse.cz, chris.hyser@oracle.com, richard@nod.at, vbabka@suse.cz, koct9i@gmail.com, oleg@redhat.com, gthelen@google.com, jack@suse.cz, xiexiuqi@huawei.com, Vineet.Gupta1@synopsys.com, luto@kernel.org, ebiederm@xmission.com, bsegall@google.com, geert@linux-m68k.org, dave@stgolabs.net, adobriyan@gmail.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org On 03/07/2016 11:09 AM, Rob Gardner wrote: > On 03/07/2016 10:04 AM, Khalid Aziz wrote: >> On 03/07/2016 09:56 AM, David Miller wrote: >>> From: Khalid Aziz >>> Date: Mon, 7 Mar 2016 08:07:53 -0700 >>> >>>> PR_GET_SPARC_ADICAPS >>> >>> Put this into a new ELF auxiliary vector entry via ARCH_DLINFO. >>> >>> So now all that's left is supposedly the TAG stuff, please explain >>> that to me so I can direct you to the correct existing interface to >>> provide that as well. >>> >>> Really, try to avoid prtctl, it's poorly typed and almost worse than >>> ioctl(). >>> >> >> The two remaining operations I am looking at are: >> >> 1. Is PSTATE.mcde bit set for the process? PR_SET_SPARC_ADI provides >> this in its return value in the patch I sent. >> >> 2. Is TTE.mcd set for a given virtual address? PR_GET_SPARC_ADI_STATUS >> provides this function in the patch I sent. >> >> Setting and clearing version tags can be done entirely from userspace: >> >> while (addr < end) { >> asm volatile( >> "stxa %1, [%0]ASI_MCD_PRIMARY\n\t" >> : >> : "r" (addr), "r" (version)); >> addr += adicap.blksz; >> } >> so I do not have to add any kernel code for tags. >> > > What about clearing the tags when the user is done with the memory? You > can't count on the user to do that, so doesn't the kernel have to do it > someplace? > Tags can be cleared by user by setting tag to 0. Tags are automatically cleared by the hardware when the mapping for a virtual address is removed from TSB (which is why swappable pages are a problem), so kernel does not have to do it as part of clean up. Thanks, Khalid -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org