]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: selftests: Cast guest_memfd fd to a signed int when checking for >= 0
authorSean Christopherson <seanjc@google.com>
Fri, 22 May 2026 17:15:34 +0000 (10:15 -0700)
committerSean Christopherson <seanjc@google.com>
Tue, 26 May 2026 19:24:12 +0000 (12:24 -0700)
When conditionally closing a memory region's guest_memfd file descriptor,
cast the field to a signed it so that negative values are correctly
detected.  Because selftests reuse "struct kvm_userspace_memory_region2"
instead of providing custom storage, they pick up the kernel uAPI's __u32
definition of the file descriptor, not the more common "int" definition,
e.g. that's used for userspace_mem_region.fd.

Fixes: bb2968ad6c33 ("KVM: selftests: Add support for creating private memslots")
Reported-by: Bibo Mao <maobibo@loongson.cn>
Closes: https://lore.kernel.org/all/20260508015013.4108345-1-maobibo@loongson.cn
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Ackerley Tng <ackerleytng@google.com>
Link: https://patch.msgid.link/20260522171535.3525890-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/lib/kvm_util.c

index 2a76eca7029d3b7ecc0ebc2176d901b3a25eba0d..464ac07e86b3f51e3141f101c32abe86f6ff871c 100644 (file)
@@ -817,7 +817,7 @@ static void __vm_mem_region_delete(struct kvm_vm *vm,
                kvm_munmap(region->mmap_alias, region->mmap_size);
                close(region->fd);
        }
-       if (region->region.guest_memfd >= 0)
+       if ((int)region->region.guest_memfd >= 0)
                close(region->region.guest_memfd);
 
        free(region);