Thread (92 messages) flat view 92 messages, 6 authors, 2017-07-13

Re: [RFC v5 12/38] mm: ability to disable execute permission on a key at creation

From: Ram Pai <hidden>
Date: 2017-07-11 22:19:50
Also in: linux-arch, linux-mm, lkml

On Wed, Jul 12, 2017 at 08:08:56AM +1000, Benjamin Herrenschmidt wrote:
On Tue, 2017-07-11 at 14:51 -0700, Ram Pai wrote:
quoted
On Wed, Jul 12, 2017 at 07:29:37AM +1000, Benjamin Herrenschmidt wrote:
quoted
On Tue, 2017-07-11 at 11:11 -0700, Dave Hansen wrote:
quoted
On 07/05/2017 02:21 PM, Ram Pai wrote:
quoted
Currently sys_pkey_create() provides the ability to disable read
and write permission on the key, at  creation. powerpc  has  the
hardware support to disable execute on a pkey as well.This patch
enhances the interface to let disable execute  at  key  creation
time. x86 does  not  allow  this.  Hence the next patch will add
ability  in  x86  to  return  error  if  PKEY_DISABLE_EXECUTE is
specified.
That leads to the question... How do you tell userspace.

(apologies if I missed that in an existing patch in the series)

How do we inform userspace of the key capabilities ? There are at least
two things userspace may want to know already:

 - What protection bits are supported for a key
the userspace is the one which allocates the keys and enables/disables the
protection bits on the key. the kernel is just a facilitator. Now if the
use space wants to know the current permissions on a given key, it can
just read the AMR/PKRU register on powerpc/intel respectively.
You misunderstand. How does userspace knows on a given system whether
execute permission control is supported for keys ?
Ah..sorry. did not catch that part.

Yes the current patch set does not make that information available. The
indirect way of find this out is, to try to allocate a key with
execute-disable permission and decide based on the pass/fail status.

we can expose that information through a procfs/sysfs interface.

RP
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help