From 9b57db3f958d9adc3b1c7371b5c6723aaee448b7 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 2 Feb 2018 20:10:09 +0000 Subject: [PATCH] add MAP_SYNC and MAP_SHARED_VALIDATE from linux v4.15 for synchronous page faults, new in linux commit 1c9725974074a047f6080eecc62c50a8e840d050 and b6fb293f2497a9841d94f6b57bd2bb2cd222da43 note that only targets that use asm-generic/mman.h have this new flag defined, so undef it on other targets (mips*, powerpc*). --- arch/mips/bits/mman.h | 1 + arch/mips64/bits/mman.h | 1 + arch/mipsn32/bits/mman.h | 1 + arch/powerpc/bits/mman.h | 1 + arch/powerpc64/bits/mman.h | 1 + include/sys/mman.h | 2 ++ 6 files changed, 7 insertions(+) diff --git a/arch/mips/bits/mman.h b/arch/mips/bits/mman.h index c68aea88..9027bb63 100644 --- a/arch/mips/bits/mman.h +++ b/arch/mips/bits/mman.h @@ -18,6 +18,7 @@ #define MAP_STACK 0x40000 #undef MAP_HUGETLB #define MAP_HUGETLB 0x80000 +#undef MAP_SYNC #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #undef MADV_SOFT_OFFLINE diff --git a/arch/mips64/bits/mman.h b/arch/mips64/bits/mman.h index c68aea88..9027bb63 100644 --- a/arch/mips64/bits/mman.h +++ b/arch/mips64/bits/mman.h @@ -18,6 +18,7 @@ #define MAP_STACK 0x40000 #undef MAP_HUGETLB #define MAP_HUGETLB 0x80000 +#undef MAP_SYNC #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #undef MADV_SOFT_OFFLINE diff --git a/arch/mipsn32/bits/mman.h b/arch/mipsn32/bits/mman.h index c68aea88..9027bb63 100644 --- a/arch/mipsn32/bits/mman.h +++ b/arch/mipsn32/bits/mman.h @@ -18,6 +18,7 @@ #define MAP_STACK 0x40000 #undef MAP_HUGETLB #define MAP_HUGETLB 0x80000 +#undef MAP_SYNC #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #undef MADV_SOFT_OFFLINE diff --git a/arch/powerpc/bits/mman.h b/arch/powerpc/bits/mman.h index 95ec4358..b3a675a8 100644 --- a/arch/powerpc/bits/mman.h +++ b/arch/powerpc/bits/mman.h @@ -4,6 +4,7 @@ #define MAP_NORESERVE 0x40 #undef MAP_LOCKED #define MAP_LOCKED 0x80 +#undef MAP_SYNC #undef MCL_CURRENT #define MCL_CURRENT 0x2000 diff --git a/arch/powerpc64/bits/mman.h b/arch/powerpc64/bits/mman.h index 95ec4358..b3a675a8 100644 --- a/arch/powerpc64/bits/mman.h +++ b/arch/powerpc64/bits/mman.h @@ -4,6 +4,7 @@ #define MAP_NORESERVE 0x40 #undef MAP_LOCKED #define MAP_LOCKED 0x80 +#undef MAP_SYNC #undef MCL_CURRENT #define MCL_CURRENT 0x2000 diff --git a/include/sys/mman.h b/include/sys/mman.h index d13d4ca3..302ad134 100644 --- a/include/sys/mman.h +++ b/include/sys/mman.h @@ -20,6 +20,7 @@ extern "C" { #define MAP_SHARED 0x01 #define MAP_PRIVATE 0x02 +#define MAP_SHARED_VALIDATE 0x03 #define MAP_TYPE 0x0f #define MAP_FIXED 0x10 #define MAP_ANON 0x20 @@ -33,6 +34,7 @@ extern "C" { #define MAP_NONBLOCK 0x10000 #define MAP_STACK 0x20000 #define MAP_HUGETLB 0x40000 +#define MAP_SYNC 0x80000 #define MAP_FILE 0 #define MAP_HUGE_SHIFT 26 -- 2.25.1