summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Mehltretter <kmehltretter@gmail.com>2026-08-29 07:48:56 +0200
committerOliver Upton <oupton@kernel.org>2026-09-15 15:09:57 -0700
commit0a46eb5719fa57cc9d06025dcd8ba271643dee61 (patch)
treea78ee234e396fb154d9af3bd994d53798e861e34
parent64dc6f1db7e620f2e9337bb181f305fb0561da79 (diff)
downloadlinux-next-0a46eb5719fa57cc9d06025dcd8ba271643dee61.tar.gz
linux-next-0a46eb5719fa57cc9d06025dcd8ba271643dee61.zip
KVM: arm64: selftests: Test empty SMCCC filter range at base 0
test_invalid_nr_functions() only checks an empty range at PSCI_0_2_FN64_CPU_ON, which KVM's end < start check happens to catch. It never exercised base 0, where the inclusive end wraps to U32_MAX instead. Add the base 0 case. Without the preceding fix it fails with EEXIST. Assisted-by: LLM Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com> Reviewed-by: Steffen Eiden <seiden@linux.ibm.com> Reviewed-by: Fuad Tabba <fuad.tabba@linux.dev> Tested-by: Fuad Tabba <fuad.tabba@linux.dev> Link: https://patch.msgid.link/20260829054856.70549-3-kmehltretter@gmail.com Signed-off-by: Oliver Upton <oupton@kernel.org>
-rw-r--r--tools/testing/selftests/kvm/arm64/smccc_filter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/testing/selftests/kvm/arm64/smccc_filter.c b/tools/testing/selftests/kvm/arm64/smccc_filter.c
index 21e41880261b..a41ed3e016ba 100644
--- a/tools/testing/selftests/kvm/arm64/smccc_filter.c
+++ b/tools/testing/selftests/kvm/arm64/smccc_filter.c
@@ -140,6 +140,10 @@ static void test_invalid_nr_functions(void)
TEST_ASSERT(r < 0 && errno == EINVAL,
"Attempt to filter 0 functions should return EINVAL");
+ r = __set_smccc_filter(vm, 0, 0, KVM_SMCCC_FILTER_DENY);
+ TEST_ASSERT(r < 0 && errno == EINVAL,
+ "Attempt to filter 0 functions at base 0 should return EINVAL");
+
kvm_vm_free(vm);
}