From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751676AbcGRSCb (ORCPT ); Mon, 18 Jul 2016 14:02:31 -0400 Received: from www.sr71.net ([198.145.64.142]:54808 "EHLO blackbird.sr71.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbcGRSC3 (ORCPT ); Mon, 18 Jul 2016 14:02:29 -0400 Subject: Re: [PATCH 6/9] x86, pkeys: add pkey set/get syscalls To: Ingo Molnar References: <20160707124719.3F04C882@viggo.jf.intel.com> <20160707124728.C1116BB1@viggo.jf.intel.com> <20160707144508.GZ11498@techsingularity.net> <577E924C.6010406@sr71.net> <20160708071810.GA27457@gmail.com> <577FD587.6050101@sr71.net> <20160709083715.GA29939@gmail.com> Cc: Mel Gorman , linux-kernel@vger.kernel.org, x86@kernel.org, linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, torvalds@linux-foundation.org, akpm@linux-foundation.org, dave.hansen@linux.intel.com, arnd@arndb.de, hughd@google.com, viro@zeniv.linux.org.uk, Thomas Gleixner , "H. Peter Anvin" , Peter Zijlstra From: Dave Hansen Message-ID: <578D19AF.3020204@sr71.net> Date: Mon, 18 Jul 2016 11:02:23 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160709083715.GA29939@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/09/2016 01:37 AM, Ingo Molnar wrote: > I.e. this pattern: > > ret = pkey_mprotect(NULL, PAGE_SIZE, real_prot, pkey); > > ... would validate the pkey and we'd return -EOPNOTSUPP for pkey that is not > available? This would allow maximum future flexibility as it would not define > kernel allocated pkeys as a 'range'. Isn't this multiplexing an otherwise straightforward system call? In addition to providing pkey assignment to memory, it would also being used to pass pkey allocation information independently from any use for memory assignment. The complexity of the ABI comes from its behavior, not from the raw number of system calls that are needed to implement it. IOW, this makes the ABI *more* complicated.