diff options
author | SeongJae Park | 2017-03-15 08:19:26 -0500 |
---|---|---|
committer | Shuah Khan | 2017-04-11 10:41:38 -0500 |
commit | 70d1a4e66854ae8aa26d9474ae282b46d7087770 (patch) | |
tree | c031e7f5c59344de3879a1590f367467db6c867c /tools | |
parent | bfedc31c4f2c1af3b509bbdc0aae051e8ad7d3ae (diff) | |
download | kernel-70d1a4e66854ae8aa26d9474ae282b46d7087770.tar.gz kernel-70d1a4e66854ae8aa26d9474ae282b46d7087770.tar.xz kernel-70d1a4e66854ae8aa26d9474ae282b46d7087770.zip |
selftests/vm: Set mmap()'s fd as -1 for MAP_ANONYMOUS flag
Man page of mmap() says that portable applications should ensure fd
argument to be -1 if MAP_ANONYMOUS flag is set as below:
```
The mapping is not backed by any file; its contents are initialized to
zero. The fd and offset arguments are ignored; however, some
implementations require fd to be -1 if MAP_ANONYMOUS (or
MAP_ANON) is specified, and portable applications
should ensure this.
```
However, few mmap() calls under selftests/vm/ uses 0 as fd though they
use MAP_ANONYMOUS flag. This commit changes the argument to be -1 as
recommended.
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/vm/map_hugetlb.c | 2 | ||||
-rw-r--r-- | tools/testing/selftests/vm/mlock2-tests.c | 12 | ||||
-rw-r--r-- | tools/testing/selftests/vm/on-fault-limit.c | 2 | ||||
-rw-r--r-- | tools/testing/selftests/vm/thuge-gen.c | 2 |
4 files changed, 9 insertions, 9 deletions
diff --git a/tools/testing/selftests/vm/map_hugetlb.c b/tools/testing/selftests/vm/map_hugetlb.c index addcd6fc1ecc..77687ab59f77 100644 --- a/tools/testing/selftests/vm/map_hugetlb.c +++ b/tools/testing/selftests/vm/map_hugetlb.c | |||
@@ -62,7 +62,7 @@ int main(void) | |||
62 | void *addr; | 62 | void *addr; |
63 | int ret; | 63 | int ret; |
64 | 64 | ||
65 | addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, 0, 0); | 65 | addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, -1, 0); |
66 | if (addr == MAP_FAILED) { | 66 | if (addr == MAP_FAILED) { |
67 | perror("mmap"); | 67 | perror("mmap"); |
68 | exit(1); | 68 | exit(1); |
diff --git a/tools/testing/selftests/vm/mlock2-tests.c b/tools/testing/selftests/vm/mlock2-tests.c index ff0cda2b19c9..e5dbc87b4297 100644 --- a/tools/testing/selftests/vm/mlock2-tests.c +++ b/tools/testing/selftests/vm/mlock2-tests.c | |||
@@ -293,7 +293,7 @@ static int test_mlock_lock() | |||
293 | unsigned long page_size = getpagesize(); | 293 | unsigned long page_size = getpagesize(); |
294 | 294 | ||
295 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, | 295 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, |
296 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 296 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
297 | if (map == MAP_FAILED) { | 297 | if (map == MAP_FAILED) { |
298 | perror("test_mlock_locked mmap"); | 298 | perror("test_mlock_locked mmap"); |
299 | goto out; | 299 | goto out; |
@@ -402,7 +402,7 @@ static int test_mlock_onfault() | |||
402 | unsigned long page_size = getpagesize(); | 402 | unsigned long page_size = getpagesize(); |
403 | 403 | ||
404 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, | 404 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, |
405 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 405 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
406 | if (map == MAP_FAILED) { | 406 | if (map == MAP_FAILED) { |
407 | perror("test_mlock_locked mmap"); | 407 | perror("test_mlock_locked mmap"); |
408 | goto out; | 408 | goto out; |
@@ -445,7 +445,7 @@ static int test_lock_onfault_of_present() | |||
445 | uint64_t page1_flags, page2_flags; | 445 | uint64_t page1_flags, page2_flags; |
446 | 446 | ||
447 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, | 447 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, |
448 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 448 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
449 | if (map == MAP_FAILED) { | 449 | if (map == MAP_FAILED) { |
450 | perror("test_mlock_locked mmap"); | 450 | perror("test_mlock_locked mmap"); |
451 | goto out; | 451 | goto out; |
@@ -492,7 +492,7 @@ static int test_munlockall() | |||
492 | unsigned long page_size = getpagesize(); | 492 | unsigned long page_size = getpagesize(); |
493 | 493 | ||
494 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, | 494 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, |
495 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 495 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
496 | 496 | ||
497 | if (map == MAP_FAILED) { | 497 | if (map == MAP_FAILED) { |
498 | perror("test_munlockall mmap"); | 498 | perror("test_munlockall mmap"); |
@@ -518,7 +518,7 @@ static int test_munlockall() | |||
518 | munmap(map, 2 * page_size); | 518 | munmap(map, 2 * page_size); |
519 | 519 | ||
520 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, | 520 | map = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, |
521 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 521 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
522 | 522 | ||
523 | if (map == MAP_FAILED) { | 523 | if (map == MAP_FAILED) { |
524 | perror("test_munlockall second mmap"); | 524 | perror("test_munlockall second mmap"); |
@@ -573,7 +573,7 @@ static int test_vma_management(bool call_mlock) | |||
573 | struct vm_boundaries page3; | 573 | struct vm_boundaries page3; |
574 | 574 | ||
575 | map = mmap(NULL, 3 * page_size, PROT_READ | PROT_WRITE, | 575 | map = mmap(NULL, 3 * page_size, PROT_READ | PROT_WRITE, |
576 | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); | 576 | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); |
577 | if (map == MAP_FAILED) { | 577 | if (map == MAP_FAILED) { |
578 | perror("mmap()"); | 578 | perror("mmap()"); |
579 | return ret; | 579 | return ret; |
diff --git a/tools/testing/selftests/vm/on-fault-limit.c b/tools/testing/selftests/vm/on-fault-limit.c index 0ae458f32fdb..7f96a5c2e292 100644 --- a/tools/testing/selftests/vm/on-fault-limit.c +++ b/tools/testing/selftests/vm/on-fault-limit.c | |||
@@ -26,7 +26,7 @@ static int test_limit(void) | |||
26 | } | 26 | } |
27 | 27 | ||
28 | map = mmap(NULL, 2 * lims.rlim_max, PROT_READ | PROT_WRITE, | 28 | map = mmap(NULL, 2 * lims.rlim_max, PROT_READ | PROT_WRITE, |
29 | MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, 0, 0); | 29 | MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0); |
30 | if (map != MAP_FAILED) | 30 | if (map != MAP_FAILED) |
31 | printf("mmap should have failed, but didn't\n"); | 31 | printf("mmap should have failed, but didn't\n"); |
32 | else { | 32 | else { |
diff --git a/tools/testing/selftests/vm/thuge-gen.c b/tools/testing/selftests/vm/thuge-gen.c index 0bc737a75150..88a2ab535e01 100644 --- a/tools/testing/selftests/vm/thuge-gen.c +++ b/tools/testing/selftests/vm/thuge-gen.c | |||
@@ -146,7 +146,7 @@ void test_mmap(unsigned long size, unsigned flags) | |||
146 | 146 | ||
147 | before = read_free(size); | 147 | before = read_free(size); |
148 | map = mmap(NULL, size*NUM_PAGES, PROT_READ|PROT_WRITE, | 148 | map = mmap(NULL, size*NUM_PAGES, PROT_READ|PROT_WRITE, |
149 | MAP_PRIVATE|MAP_ANONYMOUS|MAP_HUGETLB|flags, 0, 0); | 149 | MAP_PRIVATE|MAP_ANONYMOUS|MAP_HUGETLB|flags, -1, 0); |
150 | 150 | ||
151 | if (map == (char *)-1) err("mmap"); | 151 | if (map == (char *)-1) err("mmap"); |
152 | memset(map, 0xff, size*NUM_PAGES); | 152 | memset(map, 0xff, size*NUM_PAGES); |