[PATCH v2 3/4] KVM: selftests: Improve bsp_vcpu_id and max_vcpu_ids out-of-bound tests

From: Dmytro Maluka

Date: Fri Jul 31 2026 - 11:22:36 EST


Now that KVM correctly fails with -EINVAL when attempting to set
bsp_vcpu_id to the value of max_vcpu_ids (not just to a greater value)
and vice versa, improve corresponding tests to cover this corner case
as well.

Signed-off-by: Dmytro Maluka <dmaluka@xxxxxxxxxxxx>
---
tools/testing/selftests/kvm/x86/max_vcpuid_cap_test.c | 6 +++---
tools/testing/selftests/kvm/x86/set_boot_cpu_id.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/kvm/x86/max_vcpuid_cap_test.c b/tools/testing/selftests/kvm/x86/max_vcpuid_cap_test.c
index 47ee14967873..43f16c052de4 100644
--- a/tools/testing/selftests/kvm/x86/max_vcpuid_cap_test.c
+++ b/tools/testing/selftests/kvm/x86/max_vcpuid_cap_test.c
@@ -30,10 +30,10 @@ int main(int argc, char *argv[])
if (kvm_has_cap(KVM_CAP_SET_BOOT_CPU_ID)) {
vm_ioctl(vm, KVM_SET_BOOT_CPU_ID, (void *)MAX_VCPU_ID);

- /* Try setting KVM_CAP_MAX_VCPU_ID below BOOT_CPU_ID */
- ret = __vm_enable_cap(vm, KVM_CAP_MAX_VCPU_ID, MAX_VCPU_ID - 1);
+ /* Try setting KVM_CAP_MAX_VCPU_ID below or equal to BOOT_CPU_ID */
+ ret = __vm_enable_cap(vm, KVM_CAP_MAX_VCPU_ID, MAX_VCPU_ID);
TEST_ASSERT(ret < 0,
- "Setting KVM_CAP_MAX_VCPU_ID below BOOT_CPU_ID should fail");
+ "Setting KVM_CAP_MAX_VCPU_ID <= BOOT_CPU_ID should fail");
}

/*
diff --git a/tools/testing/selftests/kvm/x86/set_boot_cpu_id.c b/tools/testing/selftests/kvm/x86/set_boot_cpu_id.c
index 8e3898646c69..1c4ebdf8e82c 100644
--- a/tools/testing/selftests/kvm/x86/set_boot_cpu_id.c
+++ b/tools/testing/selftests/kvm/x86/set_boot_cpu_id.c
@@ -39,8 +39,8 @@ static void test_set_invalid_bsp(struct kvm_vm *vm)
int r;

if (max_vcpu_id) {
- r = __vm_ioctl(vm, KVM_SET_BOOT_CPU_ID, (void *)(max_vcpu_id + 1));
- TEST_ASSERT(r == -1 && errno == EINVAL, "BSP with ID > MAX should fail");
+ r = __vm_ioctl(vm, KVM_SET_BOOT_CPU_ID, (void *)max_vcpu_id);
+ TEST_ASSERT(r == -1 && errno == EINVAL, "BSP with ID >= MAX should fail");
}

r = __vm_ioctl(vm, KVM_SET_BOOT_CPU_ID, (void *)(1L << 32));
--
2.55.0.508.g3f0d502094-goog