Subject: Re: [PATCH v3 1/3] mm/pkey: Add PKEY_UNRESTRICTED macro

From: Michael Ellerman <[email-masked]>
Date: Wed, 06 Nov 2024 12:00:42 +1100

Yury Khrustalev <[email-masked]> writes:
> Memory protection keys (pkeys) uapi has two macros for pkeys restrictions:
>
>  - PKEY_DISABLE_ACCESS 0x1
>  - PKEY_DISABLE_WRITE  0x2
>
> with implicit literal value of 0x0 that means "unrestricted". Code that
> works with pkeys has to use this literal value when implying that a pkey
> imposes no restrictions. This may reduce readability because 0 can be
> written in various ways (e.g. 0x0 or 0) and also because 0 in the context
> of pkeys can be mistaken for "no permissions" (akin PROT_NONE) while it
> actually means "no restrictions". This is important because pkeys are
> oftentimes used near mprotect() that uses PROT_ macros.
>
> This patch adds PKEY_UNRESTRICTED macro defined as 0x0.
>
> Signed-off-by: Yury Khrustalev <[email-masked]>
> ---
>  include/uapi/asm-generic/mman-common.h       | 1 +
>  tools/include/uapi/asm-generic/mman-common.h | 1 +
>  2 files changed, 2 insertions(+)
  
Apparently you're not meant to modify the copy in tools/, there's a
script that does that, which is run by acme, see:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/include/uapi/README

cheers