selftests: proc: Make va_max 1MB
authorMasami Hiramatsu <mhiramat@kernel.org>
Wed, 23 Oct 2019 04:57:40 +0000 (13:57 +0900)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 7 Nov 2019 21:52:57 +0000 (14:52 -0700)
Currently proc-self-map-files-002.c sets va_max (max test address
of user virtual address) to 4GB, but it is too big for 32bit
arch and 1UL << 32 is overflow on 32bit long.
Also since this value should be enough bigger than vm.mmap_min_addr
(64KB or 32KB by default), 1MB should be enough.

Make va_max 1MB unconditionally.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/proc/proc-self-map-files-002.c

index 47b7473dedef74ccefead246ec19f20159c78958..e6aa00a183bcd964b28ecdc6aeb1efd29dd658d1 100644 (file)
@@ -47,7 +47,11 @@ static void fail(const char *fmt, unsigned long a, unsigned long b)
 int main(void)
 {
        const int PAGE_SIZE = sysconf(_SC_PAGESIZE);
-       const unsigned long va_max = 1UL << 32;
+       /*
+        * va_max must be enough bigger than vm.mmap_min_addr, which is
+        * 64KB/32KB by default. (depends on CONFIG_LSM_MMAP_MIN_ADDR)
+        */
+       const unsigned long va_max = 1UL << 20;
        unsigned long va;
        void *p;
        int fd;