Hi Sebastian,

On 5/4/26 7:28 PM, Sebastian Ott wrote:
> Fix the following failure to the steal_time test on arm64 by making
> the timer address known to the guest.
> 
> ==== Test Assertion Failure ====
>   steal_time.c:229: !ret
>   pid=18514 tid=18514 errno=22 - Invalid argument
>      1  0x000000000040252f: check_steal_time_uapi at steal_time.c:229 
> (discriminator 20)
>      2   (inlined by) main at steal_time.c:537 (discriminator 20)
>      3  0x0000ffffa23d621b: ?? ??:0
>      4  0x0000ffffa23d62fb: ?? ??:0
>      5  0x0000000000402b6f: _start at ??:?
>   KVM_SET_DEVICE_ATTR failed, rc: -1 errno: 22 (Invalid argument)
> 
> Fixes: 40351ed924dd ("KVM: selftests: Refactor UAPI tests into dedicated 
> function")
> Signed-off-by: Sebastian Ott <[email protected]>
> ---
>  tools/testing/selftests/kvm/steal_time.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/selftests/kvm/steal_time.c 
> b/tools/testing/selftests/kvm/steal_time.c
> index 7df2bc8eec02..76fcdd1fd3cb 100644
> --- a/tools/testing/selftests/kvm/steal_time.c
> +++ b/tools/testing/selftests/kvm/steal_time.c
> @@ -220,6 +220,8 @@ static void check_steal_time_uapi(void)
>       };
>  
>       vcpu_ioctl(vcpu, KVM_HAS_DEVICE_ATTR, &dev);
> +     vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, ST_GPA_BASE, 1, 
> 1, 0);

This leads to the following failure when the host page size is greater than
the guest's:

[root@localhost kvm]# getconf PAGESIZE
16384
[root@localhost kvm]# ./steal_time 
Random seed: 0x6b8b4567
__vm_create: mode='PA-bits:40,  VA-bits:48,  4K pages' type='0', pages='672'
TAP version 13
1..4
__vm_create: mode='PA-bits:40,  VA-bits:48,  4K pages' type='0', pages='660'
==== Test Assertion Failure ====
  lib/kvm_util.c:991: vm_adjust_num_guest_pages(vm->mode, npages) == npages
  pid=873 tid=873 errno=0 - Success
     1  0x0000000000405a27: vm_mem_add at kvm_util.c:991
     2  0x000000000040241f: check_steal_time_uapi at steal_time.c:223 
(discriminator 7)
     3   (inlined by) main at steal_time.c:539 (discriminator 7)
     4  0x00007fff8b57af3b: ?? ??:0
     5  0x00007fff8b57b007: ?? ??:0
     6  0x0000000000402b6f: _start at ??:?
  Number of guest pages is not compatible with the host. Try npages=4

> +     virt_map(vm, ST_GPA_BASE, ST_GPA_BASE, 1);
>  
>       st_ipa = (ulong)ST_GPA_BASE | 1;
>       ret = __vcpu_ioctl(vcpu, KVM_SET_DEVICE_ATTR, &dev);

Thanks,
Zenghui

Reply via email to