diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-04-13 11:36:44 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-04-13 11:36:44 +0200 |
commit | 95a8e746f82bdda5d8a443b6557c930782d65b86 (patch) | |
tree | 6047fecc66e133c10d04be7b0bec89069c3e1654 /Documentation/x86/protection-keys.txt | |
parent | d8d1c35139481ee8e292d91cd3fd35a6b3a316eb (diff) | |
parent | a3125494cff084b098c80bb36fbe2061ffed9d52 (diff) | |
download | linux-stable-95a8e746f82bdda5d8a443b6557c930782d65b86.tar.gz linux-stable-95a8e746f82bdda5d8a443b6557c930782d65b86.tar.bz2 linux-stable-95a8e746f82bdda5d8a443b6557c930782d65b86.zip |
Merge branch 'x86/urgent' into x86/asm to pick up dependent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'Documentation/x86/protection-keys.txt')
-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 @@ +Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature +which will be found on future Intel CPUs. + +Memory Protection Keys provides a mechanism for enforcing page-based +protections, but without requiring modification of the page tables +when an application changes protection domains. It works by +dedicating 4 previously ignored bits in each page table entry to a +"protection key", giving 16 possible keys. + +There is also a new user-accessible register (PKRU) with two separate +bits (Access Disable and Write Disable) for each key. Being a CPU +register, PKRU is inherently thread-local, potentially giving each +thread a different set of protections from every other thread. + +There are two new instructions (RDPKRU/WRPKRU) for reading and writing +to the new register. The feature is only available in 64-bit mode, +even though there is theoretically space in the PAE PTEs. These +permissions are enforced on data access only and have no effect on +instruction fetches. + +=========================== Config Option =========================== + +This config option adds approximately 1.5kb of text. and 50 bytes of +data to the executable. A workload which does large O_DIRECT reads +of holes in XFS files was run to exercise get_user_pages_fast(). No +performance delta was observed with the config option +enabled or disabled. |