diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-04-14 22:53:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-04-14 22:53:46 -0400 |
commit | 806fdcce017dc98c4dbf8ed001750a0d7d2bb0af (patch) | |
tree | 9cf2e221546d26219e5f83fff40f5be6e545f377 /Documentation | |
parent | a1f983174dd7e535e50ca850fcfb3b8d38149f39 (diff) | |
parent | a3125494cff084b098c80bb36fbe2061ffed9d52 (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.txt | 27 |
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 @@ | |||
1 | Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature | ||
2 | which will be found on future Intel CPUs. | ||
3 | |||
4 | Memory Protection Keys provides a mechanism for enforcing page-based | ||
5 | protections, but without requiring modification of the page tables | ||
6 | when an application changes protection domains. It works by | ||
7 | dedicating 4 previously ignored bits in each page table entry to a | ||
8 | "protection key", giving 16 possible keys. | ||
9 | |||
10 | There is also a new user-accessible register (PKRU) with two separate | ||
11 | bits (Access Disable and Write Disable) for each key. Being a CPU | ||
12 | register, PKRU is inherently thread-local, potentially giving each | ||
13 | thread a different set of protections from every other thread. | ||
14 | |||
15 | There are two new instructions (RDPKRU/WRPKRU) for reading and writing | ||
16 | to the new register. The feature is only available in 64-bit mode, | ||
17 | even though there is theoretically space in the PAE PTEs. These | ||
18 | permissions are enforced on data access only and have no effect on | ||
19 | instruction fetches. | ||
20 | |||
21 | =========================== Config Option =========================== | ||
22 | |||
23 | This config option adds approximately 1.5kb of text. and 50 bytes of | ||
24 | data to the executable. A workload which does large O_DIRECT reads | ||
25 | of holes in XFS files was run to exercise get_user_pages_fast(). No | ||
26 | performance delta was observed with the config option | ||
27 | enabled or disabled. | ||