lkml.org 
[lkml]   [2017]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v9 29/51] mm/mprotect, powerpc/mm/pkeys, x86/mm/pkeys: Add sysfs interface
From
Date
On 12/18/2017 02:18 PM, Ram Pai wrote:
> b) minimum number of keys available to the application.
> if libraries consumes a few, they could provide a library
> interface to the application informing the number available to
> the application. The library interface can leverage (b) to
> provide the information.

OK, let's see a real user of this including a few libraries. Then we'll
put it in the kernel.

> c) types of disable-rights supported by keys.
> Helps the application to determine the types of disable-features
> available. This is helpful, otherwise the app has to
> make pkey_alloc() call with the corresponding parameter set
> and see if it suceeds or fails. Painful from an application
> point of view, in my opinion.

Again, let's see a real-world use of this. How does it look? How does
an app "fall back" if it can't set a restriction the way it wants to?

Are we *sure* that such an interface makes sense? For instance, will it
be possible for some keys to be execute-disable while other are only
write-disable?

> I think on x86 you look for some hardware registers to determine which
> hardware features are enabled by the kernel.

No, we use CPUID. It's a part of the ISA that's designed for
enumerating CPU and (sometimes) OS support for CPU features.

> We do not have generic support for something like that on ppc.
> The kernel looks at the device tree to determine what hardware features
> are available. But does not have mechanism to tell the hardware to track
> which of its features are currently enabled/used by the kernel; atleast
> not for the memory-key feature.

Bummer. You're missing out.

But, you could still do this with a syscall. "Hey, kernel, do you
support this feature?"

\
 
 \ /
  Last update: 2017-12-18 23:28    [W:0.113 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site