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


Reply via email to