[PATCH] mm: redefine the MAP_SHARED_VALIDATE to other value

zhong jiang
2019-07-08T08:07:58Z

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.
It is because MAP_SHARED_VALIDATE is introduced and equal to
MAP_SHARED | MAP_PRIVATE.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
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