From a4a0b742343cd2af476801b8ba3fe357c802e0ef Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 30 May 2019 01:08:39 +0200 Subject: [PATCH] mprotect.2: pkey_mprotect() acts like mprotect() if pkey is set to -1, not 0 The mprotect.2 NOTES say: On systems that do not support protection keys in hardware, pkey_mprotect() may still be used, but pkey must be set to 0. When called this way, the operation of pkey_mprotect() is equivalent to mprotect(). But this is not what the glibc manual says: It is also possible to call pkey_mprotect with a key value of -1, in which case it will behave in the same way as mprotect. Which is correct. Both the glibc implementation and the kernel check whether pkey is -1. 0 is not a valid pkey when memory protection keys are not supported in hardware. Signed-off-by: Mark Wielaard Signed-off-by: Michael Kerrisk --- man2/mprotect.2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man2/mprotect.2 b/man2/mprotect.2 index 9bb02eb1b..cbbfd5137 100644 --- a/man2/mprotect.2 +++ b/man2/mprotect.2 @@ -274,7 +274,7 @@ On systems that do not support protection keys in hardware, .BR pkey_mprotect () may still be used, but .IR pkey -must be set to 0. +must be set to -1. When called this way, the operation of .BR pkey_mprotect () is equivalent to