Extend kvm_syscalls.h to wrap fstat() to assert success. This will be used in the next patch.
Signed-off-by: Ackerley Tng <[email protected]> --- tools/testing/selftests/kvm/guest_memfd_test.c | 15 +++++---------- .../testing/selftests/kvm/include/kvm_syscalls.h | 2 ++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c b/tools/testing/selftests/kvm/guest_memfd_test.c index 618c937f3c90f..81387f06e770a 100644 --- a/tools/testing/selftests/kvm/guest_memfd_test.c +++ b/tools/testing/selftests/kvm/guest_memfd_test.c @@ -212,10 +212,8 @@ static void test_mmap_not_supported(int fd, size_t total_size) static void test_file_size(int fd, size_t total_size) { struct stat sb; - int ret; - ret = fstat(fd, &sb); - TEST_ASSERT(!ret, "fstat should succeed"); + kvm_fstat(fd, &sb); TEST_ASSERT_EQ(sb.st_size, total_size); TEST_ASSERT_EQ(sb.st_blksize, page_size); } @@ -303,25 +301,22 @@ static void test_create_guest_memfd_invalid_sizes(struct kvm_vm *vm, static void test_create_guest_memfd_multiple(struct kvm_vm *vm) { - int fd1, fd2, ret; + int fd1, fd2; struct stat st1, st2; fd1 = __vm_create_guest_memfd(vm, page_size, 0); TEST_ASSERT(fd1 != -1, "memfd creation should succeed"); - ret = fstat(fd1, &st1); - TEST_ASSERT(ret != -1, "memfd fstat should succeed"); + kvm_fstat(fd1, &st1); TEST_ASSERT(st1.st_size == page_size, "memfd st_size should match requested size"); fd2 = __vm_create_guest_memfd(vm, page_size * 2, 0); TEST_ASSERT(fd2 != -1, "memfd creation should succeed"); - ret = fstat(fd2, &st2); - TEST_ASSERT(ret != -1, "memfd fstat should succeed"); + kvm_fstat(fd2, &st2); TEST_ASSERT(st2.st_size == page_size * 2, "second memfd st_size should match requested size"); - ret = fstat(fd1, &st1); - TEST_ASSERT(ret != -1, "memfd fstat should succeed"); + kvm_fstat(fd1, &st1); TEST_ASSERT(st1.st_size == page_size, "first memfd st_size should still match requested size"); TEST_ASSERT(st1.st_ino != st2.st_ino, "different memfd should have different inode numbers"); diff --git a/tools/testing/selftests/kvm/include/kvm_syscalls.h b/tools/testing/selftests/kvm/include/kvm_syscalls.h index d4e613162bba9..3f039c34e12e0 100644 --- a/tools/testing/selftests/kvm/include/kvm_syscalls.h +++ b/tools/testing/selftests/kvm/include/kvm_syscalls.h @@ -2,6 +2,7 @@ #ifndef SELFTEST_KVM_SYSCALLS_H #define SELFTEST_KVM_SYSCALLS_H +#include <sys/stat.h> #include <sys/syscall.h> #define MAP_ARGS0(m,...) @@ -77,5 +78,6 @@ __KVM_SYSCALL_DEFINE(munmap, 2, void *, mem, size_t, size); __KVM_SYSCALL_DEFINE(close, 1, int, fd); __KVM_SYSCALL_DEFINE(fallocate, 4, int, fd, int, mode, loff_t, offset, loff_t, len); __KVM_SYSCALL_DEFINE(ftruncate, 2, unsigned int, fd, off_t, length); +__KVM_SYSCALL_DEFINE(fstat, 2, int, fd, struct stat *, buf); #endif /* SELFTEST_KVM_SYSCALLS_H */ -- 2.53.0.345.g96ddfc5eaa-goog

