Re: [PATCH] mm: redefine the MAP_SHARED_VALIDATE to other value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Cc Dan]

On Mon 08-07-19 16:05:41, zhong jiang wrote:
> As the mman manual says, mmap should return fails when we assign
> the flags to MAP_SHARED | MAP_PRIVATE.
> 
> But In fact, We run the code successfully and unexpected.

What is the code that you are running and what is the code version.

> It is because MAP_SHARED_VALIDATE is introduced and equal to
> MAP_SHARED | MAP_PRIVATE.

This was a deliberate decision IIRC. Have a look at 1c9725974074 ("mm:
introduce MAP_SHARED_VALIDATE, a mechanism to safely define new mmap
flags").

> Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx>
> ---
>  include/uapi/linux/mman.h                          | 2 +-
>  tools/include/uapi/asm-generic/mman-common-tools.h | 2 +-
>  tools/include/uapi/linux/mman.h                    | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/include/uapi/linux/mman.h b/include/uapi/linux/mman.h
> index fc1a64c..1d3098e 100644
> --- a/include/uapi/linux/mman.h
> +++ b/include/uapi/linux/mman.h
> @@ -14,7 +14,7 @@
>  
>  #define MAP_SHARED	0x01		/* Share changes */
>  #define MAP_PRIVATE	0x02		/* Changes are private */
> -#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
> +#define MAP_SHARED_VALIDATE 0x04	/* share + validate extension flags */
>  
>  /*
>   * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
> diff --git a/tools/include/uapi/asm-generic/mman-common-tools.h b/tools/include/uapi/asm-generic/mman-common-tools.h
> index af7d0d3..4fc44d2 100644
> --- a/tools/include/uapi/asm-generic/mman-common-tools.h
> +++ b/tools/include/uapi/asm-generic/mman-common-tools.h
> @@ -18,6 +18,6 @@
>  #ifndef MAP_SHARED
>  #define MAP_SHARED	0x01		/* Share changes */
>  #define MAP_PRIVATE	0x02		/* Changes are private */
> -#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
> +#define MAP_SHARED_VALIDATE 0x04	/* share + validate extension flags */
>  #endif
>  #endif // __ASM_GENERIC_MMAN_COMMON_TOOLS_ONLY_H
> diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h
> index fc1a64c..1d3098e 100644
> --- a/tools/include/uapi/linux/mman.h
> +++ b/tools/include/uapi/linux/mman.h
> @@ -14,7 +14,7 @@
>  
>  #define MAP_SHARED	0x01		/* Share changes */
>  #define MAP_PRIVATE	0x02		/* Changes are private */
> -#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
> +#define MAP_SHARED_VALIDATE 0x04	/* share + validate extension flags */
>  
>  /*
>   * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
> -- 
> 1.7.12.4

-- 
Michal Hocko
SUSE Labs




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux