Thread (1 message) 1 message, 1 author, 2023-11-16

Re: [PATCH 32/34] KVM: selftests: Add basic selftest for guest_memfd()

From: Ackerley Tng <hidden>
Date: 2023-11-16 21:00:25
Also in: kvm, kvm-riscv, kvmarm, linux-arm-kernel, linux-fsdevel, linux-mips, linux-mm, linux-riscv, lkml

Paolo Bonzini [off-list ref] writes:
<snip>

+static void test_create_guest_memfd_invalid(struct kvm_vm *vm)
+{
+	size_t page_size = getpagesize();
+	uint64_t flag;
+	size_t size;
+	int fd;
+
+	for (size = 1; size < page_size; size++) {
+		fd = __vm_create_guest_memfd(vm, size, 0);
+		TEST_ASSERT(fd == -1 && errno == EINVAL,
+			    "guest_memfd() with non-page-aligned page size '0x%lx' should fail with EINVAL",
+			    size);
+	}
+
+	for (flag = 1; flag; flag <<= 1) {
Since transparent hugepage support is no longer officially part of this
series, 
+		uint64_t bit;
this declaration of bit can be removed.
+
+		fd = __vm_create_guest_memfd(vm, page_size, flag);
+		TEST_ASSERT(fd == -1 && errno == EINVAL,
+			    "guest_memfd() with flag '0x%lx' should fail with EINVAL",
+			    flag);
+
This loop can also be removed,
+		for_each_set_bit(bit, &valid_flags, 64) {
+			fd = __vm_create_guest_memfd(vm, page_size, flag | BIT_ULL(bit));
+			TEST_ASSERT(fd == -1 && errno == EINVAL,
+				    "guest_memfd() with flags '0x%llx' should fail with EINVAL",
+				    flag | BIT_ULL(bit));
+		}
otherwise this won't compile because valid_flags is not declared.

These lines will have to be added back when adding transparent hugepage
support.
+	}
+}
Tested-by: Ackerley Tng <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help