summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-04-14 22:53:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-04-14 22:53:46 -0400
commit806fdcce017dc98c4dbf8ed001750a0d7d2bb0af (patch)
tree9cf2e221546d26219e5f83fff40f5be6e545f377 /Documentation
parenta1f983174dd7e535e50ca850fcfb3b8d38149f39 (diff)
parenta3125494cff084b098c80bb36fbe2061ffed9d52 (diff)
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar: "Misc fixes: a binutils fix, an lguest fix, an mcelog fix and a missing documentation fix" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mce: Avoid using object after free in genpool lguest, x86/entry/32: Fix handling of guest syscalls using interrupt gates x86/build: Build compressed x86 kernels as PIE x86/mm/pkeys: Add missing Documentation
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/x86/protection-keys.txt27
1 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/x86/protection-keys.txt b/Documentation/x86/protection-keys.txt
new file mode 100644
index 000000000000..c281ded1ba16
--- /dev/null
+++ b/Documentation/x86/protection-keys.txt
@@ -0,0 +1,27 @@
1Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature
2which will be found on future Intel CPUs.
3
4Memory Protection Keys provides a mechanism for enforcing page-based
5protections, but without requiring modification of the page tables
6when an application changes protection domains. It works by
7dedicating 4 previously ignored bits in each page table entry to a
8"protection key", giving 16 possible keys.
9
10There is also a new user-accessible register (PKRU) with two separate
11bits (Access Disable and Write Disable) for each key. Being a CPU
12register, PKRU is inherently thread-local, potentially giving each
13thread a different set of protections from every other thread.
14
15There are two new instructions (RDPKRU/WRPKRU) for reading and writing
16to the new register. The feature is only available in 64-bit mode,
17even though there is theoretically space in the PAE PTEs. These
18permissions are enforced on data access only and have no effect on
19instruction fetches.
20
21=========================== Config Option ===========================
22
23This config option adds approximately 1.5kb of text. and 50 bytes of
24data to the executable. A workload which does large O_DIRECT reads
25of holes in XFS files was run to exercise get_user_pages_fast(). No
26performance delta was observed with the config option
27enabled or disabled.