[v4,03/12] mm: Reserve asm-generic prot flag 0x10 for arch use

Message ID 20191211154206.46260-4-broonie@kernel.org
State New
Headers show
Series
  • arm64: ARMv8.5-A: Branch Target Identification support
Related show

Commit Message

Mark Brown Dec. 11, 2019, 3:41 p.m.
From: Dave Martin <Dave.Martin@arm.com>


The asm-generic mman definitions are used by a few architectures
that also define an arch-specific PROT flag with value 0x10.  This
currently applies to sparc and powerpc, and arm64 will soon join
in.

To help future maintainers, document the use of this flag in the
asm-generic header too.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>

Signed-off-by: Mark Brown <broonie@kernel.org>

---
 include/uapi/asm-generic/mman-common.h | 1 +
 1 file changed, 1 insertion(+)

-- 
2.20.1

Comments

Catalin Marinas Dec. 12, 2019, 10:48 a.m. | #1
On Wed, Dec 11, 2019 at 03:41:57PM +0000, Mark Brown wrote:
> From: Dave Martin <Dave.Martin@arm.com>

> 

> The asm-generic mman definitions are used by a few architectures

> that also define an arch-specific PROT flag with value 0x10.  This

> currently applies to sparc and powerpc, and arm64 will soon join

> in.

> 

> To help future maintainers, document the use of this flag in the

> asm-generic header too.

> 

> Signed-off-by: Dave Martin <Dave.Martin@arm.com>

> Signed-off-by: Mark Brown <broonie@kernel.org>

> ---

>  include/uapi/asm-generic/mman-common.h | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/include/uapi/asm-generic/mman-common.h b/include/uapi/asm-generic/mman-common.h

> index c160a5354eb6..81442d2aaecb 100644

> --- a/include/uapi/asm-generic/mman-common.h

> +++ b/include/uapi/asm-generic/mman-common.h

> @@ -11,6 +11,7 @@

>  #define PROT_WRITE	0x2		/* page can be written */

>  #define PROT_EXEC	0x4		/* page can be executed */

>  #define PROT_SEM	0x8		/* page may be used for atomic ops */

> + /*			0x10		   reserved for arch-specific use */

>  #define PROT_NONE	0x0		/* page can not be accessed */

>  #define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */

>  #define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */


Since the BTI will likely be merged before the MTE series, please
consider reserving 0x20 as well. The updated patch, acked by Arnd:

https://lore.kernel.org/linux-arm-kernel/20191211184027.20130-2-catalin.marinas@arm.com/

-- 
Catalin
Mark Brown Dec. 12, 2019, 4:16 p.m. | #2
On Thu, Dec 12, 2019 at 10:48:32AM +0000, Catalin Marinas wrote:
> On Wed, Dec 11, 2019 at 03:41:57PM +0000, Mark Brown wrote:


> >  #define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */

> >  #define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */


> Since the BTI will likely be merged before the MTE series, please

> consider reserving 0x20 as well. The updated patch, acked by Arnd:


Sure.

Patch

diff --git a/include/uapi/asm-generic/mman-common.h b/include/uapi/asm-generic/mman-common.h
index c160a5354eb6..81442d2aaecb 100644
--- a/include/uapi/asm-generic/mman-common.h
+++ b/include/uapi/asm-generic/mman-common.h
@@ -11,6 +11,7 @@ 
 #define PROT_WRITE	0x2		/* page can be written */
 #define PROT_EXEC	0x4		/* page can be executed */
 #define PROT_SEM	0x8		/* page may be used for atomic ops */
+ /*			0x10		   reserved for arch-specific use */
 #define PROT_NONE	0x0		/* page can not be accessed */
 #define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
 #define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */