Commit 91a99f1d authored by Peter Xu's avatar Peter Xu Committed by Andrew Morton

selftests/vm: use memfd for hugepage-mmap test

This test was overlooked with a hard-coded mntpoint path in test when
we're removing the hugetlb mntpoint in commit 0796c7b8.  Fix it up so
the test can keep running.

Link: https://lkml.kernel.org/r/Y3aojfUC2nSwbCzB@x1n
Fixes: 0796c7b8 ("selftests/vm: drop mnt point for hugetlb in run_vmtests.sh")
Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
Reported-by: default avatarJoel Savitz <jsavitz@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 47939359
...@@ -16,14 +16,13 @@ ...@@ -16,14 +16,13 @@
* range. * range.
* Other architectures, such as ppc64, i386 or x86_64 are not so constrained. * Other architectures, such as ppc64, i386 or x86_64 are not so constrained.
*/ */
#define _GNU_SOURCE
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
#include <sys/mman.h> #include <sys/mman.h>
#include <fcntl.h> #include <fcntl.h>
#define FILE_NAME "huge/hugepagefile"
#define LENGTH (256UL*1024*1024) #define LENGTH (256UL*1024*1024)
#define PROTECTION (PROT_READ | PROT_WRITE) #define PROTECTION (PROT_READ | PROT_WRITE)
...@@ -67,16 +66,16 @@ int main(void) ...@@ -67,16 +66,16 @@ int main(void)
void *addr; void *addr;
int fd, ret; int fd, ret;
fd = open(FILE_NAME, O_CREAT | O_RDWR, 0755); fd = memfd_create("hugepage-mmap", MFD_HUGETLB);
if (fd < 0) { if (fd < 0) {
perror("Open failed"); perror("memfd_create() failed");
exit(1); exit(1);
} }
addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, fd, 0); addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, fd, 0);
if (addr == MAP_FAILED) { if (addr == MAP_FAILED) {
perror("mmap"); perror("mmap");
unlink(FILE_NAME); close(fd);
exit(1); exit(1);
} }
...@@ -87,7 +86,6 @@ int main(void) ...@@ -87,7 +86,6 @@ int main(void)
munmap(addr, LENGTH); munmap(addr, LENGTH);
close(fd); close(fd);
unlink(FILE_NAME);
return ret; return ret;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment