tests: add memfd_create test variants with different xlat verbosity levels
* tests/memfd_create-Xabbrev.c: New file. * tests/memfd_create-Xraw.c: Likewise. * tests/memfd_create-Xverbose.c: Likewise. * tests/memfd_create.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags. * tests/pure_executables.list: Add memfd_create-Xabbrev, memfd_create-Xraw, and memfd_create-Xverbose. * tests/.gitignore: Likewise. * tests/gen_tests.in (memfd_create-Xabbrev, memfd_create-Xraw, memfd_create-Xverbose): New tests.
This commit is contained in:
parent
f11fb909d7
commit
956dc3ed36
3
tests/.gitignore
vendored
3
tests/.gitignore
vendored
@ -217,6 +217,9 @@ madvise
|
||||
mbind
|
||||
membarrier
|
||||
memfd_create
|
||||
memfd_create-Xabbrev
|
||||
memfd_create-Xraw
|
||||
memfd_create-Xverbose
|
||||
migrate_pages
|
||||
mincore
|
||||
mkdir
|
||||
|
@ -200,6 +200,9 @@ madvise -a33
|
||||
mbind
|
||||
membarrier -a36
|
||||
memfd_create
|
||||
memfd_create-Xabbrev -Xabbrev -e trace=memfd_create
|
||||
memfd_create-Xraw -a30 -Xraw -e trace=memfd_create
|
||||
memfd_create-Xverbose -Xverbose -e trace=memfd_create
|
||||
migrate_pages -a33
|
||||
mincore -a22
|
||||
mkdir -a20
|
||||
|
1
tests/memfd_create-Xabbrev.c
Normal file
1
tests/memfd_create-Xabbrev.c
Normal file
@ -0,0 +1 @@
|
||||
#include "memfd_create.c"
|
2
tests/memfd_create-Xraw.c
Normal file
2
tests/memfd_create-Xraw.c
Normal file
@ -0,0 +1,2 @@
|
||||
#define XLAT_RAW 1
|
||||
#include "memfd_create.c"
|
2
tests/memfd_create-Xverbose.c
Normal file
2
tests/memfd_create-Xverbose.c
Normal file
@ -0,0 +1,2 @@
|
||||
#define XLAT_VERBOSE 1
|
||||
#include "memfd_create.c"
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Check decoding of memfd_create syscall.
|
||||
*
|
||||
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
|
||||
* Copyright (c) 2015-2018 Dmitry V. Levin <ldv@altlinux.org>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -71,25 +71,58 @@ main(void)
|
||||
(int) size - 1, pattern, errstr);
|
||||
|
||||
kernel_ulong_t flags = (kernel_ulong_t) 0xfacefeed00000007ULL;
|
||||
# define flags1_str "MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB"
|
||||
|
||||
k_memfd_create((uintptr_t) pattern, flags);
|
||||
# if XLAT_VERBOSE
|
||||
printf("memfd_create(\"%.*s\"..., %s /* %s */) = %s\n",
|
||||
(int) size - 1, pattern,
|
||||
"0x7", flags1_str, errstr);
|
||||
# else
|
||||
printf("memfd_create(\"%.*s\"..., %s) = %s\n",
|
||||
(int) size - 1, pattern,
|
||||
"MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB",
|
||||
# if XLAT_RAW
|
||||
"0x7",
|
||||
# else
|
||||
flags1_str,
|
||||
# endif
|
||||
errstr);
|
||||
# endif
|
||||
|
||||
pattern[size - 1] = '\0';
|
||||
flags = 30 << MFD_HUGE_SHIFT;
|
||||
k_memfd_create((uintptr_t) pattern, flags);
|
||||
# if XLAT_RAW
|
||||
printf("memfd_create(\"%s\", %#x) = %s\n",
|
||||
pattern, (unsigned int) flags, errstr);
|
||||
# elif XLAT_VERBOSE
|
||||
printf("memfd_create(\"%s\", %#x /* %s */) = %s\n",
|
||||
pattern, (unsigned int) flags, "30<<MFD_HUGE_SHIFT", errstr);
|
||||
# else /* XLAT_ABBREV */
|
||||
printf("memfd_create(\"%s\", 30<<MFD_HUGE_SHIFT) = %s\n",
|
||||
pattern, errstr);
|
||||
# endif
|
||||
|
||||
pattern += size - 1;
|
||||
flags = (kernel_ulong_t) -1ULL;
|
||||
k_memfd_create(0, flags);
|
||||
flags = -1U & ~(7 | (MFD_HUGE_MASK << MFD_HUGE_SHIFT));
|
||||
printf("memfd_create(NULL, MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB"
|
||||
"|%#x|%u<<MFD_HUGE_SHIFT) = %s\n",
|
||||
(unsigned int) flags, MFD_HUGE_MASK, errstr);
|
||||
|
||||
# define memfd_create_fmt "%s|%#x|%u<<MFD_HUGE_SHIFT"
|
||||
|
||||
printf("memfd_create(NULL, "
|
||||
# if XLAT_RAW
|
||||
"0xffffffff) = %s\n",
|
||||
# else
|
||||
# if XLAT_VERBOSE
|
||||
"0xffffffff /* " memfd_create_fmt " */"
|
||||
# else /* XLAT_ABBREV */
|
||||
memfd_create_fmt
|
||||
# endif
|
||||
") = %s\n",
|
||||
flags1_str, (unsigned int) flags, MFD_HUGE_MASK,
|
||||
# endif
|
||||
errstr);
|
||||
|
||||
puts("+++ exited with 0 +++");
|
||||
return 0;
|
||||
|
@ -173,6 +173,9 @@ madvise
|
||||
mbind
|
||||
membarrier
|
||||
memfd_create
|
||||
memfd_create-Xabbrev
|
||||
memfd_create-Xraw
|
||||
memfd_create-Xverbose
|
||||
migrate_pages
|
||||
mincore
|
||||
mkdir
|
||||
|
Loading…
x
Reference in New Issue
Block a user