[LTP] [PATCH v2 2/2] mm: raise mmap HIGH_ADDR value for s390 arch
Li Wang
liwang@redhat.com
Fri Nov 10 09:07:21 CET 2017
The kernel commit 1aea9b3f92 (s390/mm: implement 5 level pages tables)
enlarge the maximum address in the tasks address space from (1UL << 53)
to (-PAGE_SIZE) on s390 platform.
We have to increase the HIGH_ADDR in ltp testcases accordingly otherwise
that would be failed with succeeded mmap into high region:
mmap15 1 TFAIL : mmap15.c:77: mmap into high region succeeded unexpectedly
Signed-off-by: Li Wang <liwang@redhat.com>
---
testcases/kernel/syscalls/mmap/mmap15.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/testcases/kernel/syscalls/mmap/mmap15.c b/testcases/kernel/syscalls/mmap/mmap15.c
index 7e917bd..a1ed667 100644
--- a/testcases/kernel/syscalls/mmap/mmap15.c
+++ b/testcases/kernel/syscalls/mmap/mmap15.c
@@ -43,10 +43,10 @@ int TST_TOTAL = 1;
#ifdef __ia64__
# define HIGH_ADDR (void *)(0xa000000000000000UL)
#else
-# define HIGH_ADDR (void *)(1L << 53)
+# define HIGH_ADDR (void *)(-page_size)
#endif
-static long map_sz;
+static long page_size;
static void setup(void);
static void cleanup(void);
@@ -70,7 +70,7 @@ int main(int ac, char **av)
fd = SAFE_OPEN(cleanup, "testfile", O_RDWR | O_CREAT, 0666);
/* Attempt to mmap into highmem addr, should get ENOMEM */
- addr = mmap(HIGH_ADDR, map_sz, PROT_READ,
+ addr = mmap(HIGH_ADDR, page_size, PROT_READ,
MAP_SHARED | MAP_FIXED, fd, 0);
if (addr != MAP_FAILED) {
tst_resm(TFAIL, "mmap into high region "
@@ -102,7 +102,7 @@ static void setup(void)
tst_tmpdir();
- map_sz = getpagesize();
+ page_size = getpagesize();
TEST_PAUSE;
}
--
2.9.3
More information about the ltp
mailing list