Commit 39b2e5ca authored by David Hildenbrand's avatar David Hildenbrand Committed by Linus Torvalds

selftests/vm: make MADV_POPULATE_(READ|WRITE) use in-tree headers

The madv_populate selftest currently builds with a warning when the
local installed headers (via the distribution) don't include
MADV_POPULATE_READ and MADV_POPULATE_WRITE.  The warning is correct,
because the test cannot locate the necessary header.

The reason is that the in-tree installed headers (usr/include) have a
"linux" instead of a "sys" subdirectory.

Including "linux/mman.h" instead of "sys/mman.h" doesn't work (e.g.,
mmap() and madvise() are not defined that way).  The only thing that
seems to work is including "linux/mman.h" in addition to "sys/mman.h".

We can get rid of our availability check and simplify.

Link: https://lkml.kernel.org/r/20211015165758.41374-1-david@redhat.comSigned-off-by: default avatarDavid Hildenbrand <david@redhat.com>
Reported-by: default avatarShuah Khan <skhan@linuxfoundation.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a9970586
...@@ -14,12 +14,11 @@ ...@@ -14,12 +14,11 @@
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <linux/mman.h>
#include <sys/mman.h> #include <sys/mman.h>
#include "../kselftest.h" #include "../kselftest.h"
#if defined(MADV_POPULATE_READ) && defined(MADV_POPULATE_WRITE)
/* /*
* For now, we're using 2 MiB of private anonymous memory for all tests. * For now, we're using 2 MiB of private anonymous memory for all tests.
*/ */
...@@ -328,15 +327,3 @@ int main(int argc, char **argv) ...@@ -328,15 +327,3 @@ int main(int argc, char **argv)
err, ksft_test_num()); err, ksft_test_num());
return ksft_exit_pass(); return ksft_exit_pass();
} }
#else /* defined(MADV_POPULATE_READ) && defined(MADV_POPULATE_WRITE) */
#warning "missing MADV_POPULATE_READ or MADV_POPULATE_WRITE definition"
int main(int argc, char **argv)
{
ksft_print_header();
ksft_exit_skip("MADV_POPULATE_READ or MADV_POPULATE_WRITE not defined\n");
}
#endif /* defined(MADV_POPULATE_READ) && defined(MADV_POPULATE_WRITE) */
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