RFC add manpages for Memory Protection Keys
Get series with b4
b4 am 20160608173351.5CF7B2D3@rayVersions newest first
- v4 RFC Latest6 patches 2 repliesIn review
Changes in v4 from the cover letter
* Split patches up, one per manpage.
* Started new sentences on new lines.
* Added description of default key to pkey.7
* reindented and fixed up sys_ in example code, s/err/status/, also removed assert()s.
* Various other fixes in response to Michael's review
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | pkey.7: New page with overview of Memory Protection Keysman7/ | +230 | 2 replies | |
| 2/6 | mprotect.2: add pkey_mprotect() syscallman2/ | +41 | 0 replies | |
| 3/6 | pkey_alloc.2: New page describing protection key allocation and freeman2/ | +109 | 0 replies | |
| 4/6 | pkey_get.2: New page desribing pkey rights manipulation syscallsman2/ | +109 | 0 replies | |
| 5/6 | sigaction.2: describe siginfo changes from pkey-induced signalsman2/ | +9 | 0 replies | |
| 6/6 | proc.5: describe new ProtectionKey smaps fieldman5/ | +7 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.
Cover letter [PATCH 0/6] [RFCv4] add manpages for Memory Protection Keys
From: Dave Hansen <dave.hansen-VuQAYsv1563Yd54FQh9/[email protected]>
Changes from v3:
* Split patches up, one per manpage.
* Started new sentences on new lines.
* Added description of default key to pkey.7
* reindented and fixed up sys_ in example code, s/err/status/, also removed assert()s.
* Various other fixes in response to Michael's review
One outstanding issue is the language and behavior for the PKEY_DISABLE_ACCESS/WRITE flags. Should the manpage describe the acceptable number of flags as "zero or more" or "zero or one"?
Changes from v2:
* clarified that calling pkey_free() on a pkey in use by a mapping is bad.
--
Memory Protection Keys for User pages is an Intel CPU feature which will first appear on Skylake Servers, but will also be supported on future non-server parts (there is also a QEMU implementation). It provides a mechanism for enforcing page-based protections, but without requiring modification of the page tables when an application wishes to change permissions.
I have propsed adding five new system calls to support this feature. The five calls are distributed across three man-pages (one existing and 2 new), plus a new pkey(7) page which serves as a general overview of the feature.
The system calls for this feature are not currently upstream but can be found here:
http://git.kernel.org/cgit/linux/kernel/git/daveh/x86-pkeys.git/