Skip to content

Commit 00e0c94

Browse files
ouptonMarc Zyngier
authored andcommitted
KVM: arm64: Test that SMC64 arch calls are reserved
Assert that the SMC64 view of the Arm architecture range is reserved by KVM and cannot be filtered by userspace. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230408121732.3411329-3-oliver.upton@linux.dev
1 parent 5a23ad6 commit 00e0c94

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

tools/testing/selftests/kvm/aarch64/smccc_filter.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,21 @@ static void test_filter_reserved_range(void)
9999
{
100100
struct kvm_vcpu *vcpu;
101101
struct kvm_vm *vm = setup_vm(&vcpu);
102+
uint32_t smc64_fn;
102103
int r;
103104

104105
r = __set_smccc_filter(vm, ARM_SMCCC_ARCH_WORKAROUND_1,
105106
1, KVM_SMCCC_FILTER_DENY);
106107
TEST_ASSERT(r < 0 && errno == EEXIST,
107108
"Attempt to filter reserved range should return EEXIST");
108109

110+
smc64_fn = ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, ARM_SMCCC_SMC_64,
111+
0, 0);
112+
113+
r = __set_smccc_filter(vm, smc64_fn, 1, KVM_SMCCC_FILTER_DENY);
114+
TEST_ASSERT(r < 0 && errno == EEXIST,
115+
"Attempt to filter reserved range should return EEXIST");
116+
109117
kvm_vm_free(vm);
110118
}
111119

0 commit comments

Comments
 (0)