• Maciej S. Szmigiero's avatar
    KVM: selftests: page_table_test: fix calculation of guest_test_phys_mem · 81835ee1
    Maciej S. Szmigiero authored
    A kvm_page_table_test run with its default settings fails on VMX due to
    memory region add failure:
    > ==== Test Assertion Failure ====
    >  lib/kvm_util.c:952: ret == 0
    >  pid=10538 tid=10538 errno=17 - File exists
    >     1  0x00000000004057d1: vm_userspace_mem_region_add at kvm_util.c:947
    >     2  0x0000000000401ee9: pre_init_before_test at kvm_page_table_test.c:302
    >     3   (inlined by) run_test at kvm_page_table_test.c:374
    >     4  0x0000000000409754: for_each_guest_mode at guest_modes.c:53
    >     5  0x0000000000401860: main at kvm_page_table_test.c:500
    >     6  0x00007f82ae2d8554: ?? ??:0
    >     7  0x0000000000401894: _start at ??:?
    >  KVM_SET_USER_MEMORY_REGION IOCTL failed,
    >  rc: -1 errno: 17
    >  slot: 1 flags: 0x0
    >  guest_phys_addr: 0xc0000000 size: 0x40000000
    
    This is because the memory range that this test is trying to add
    (0x0c0000000 - 0x100000000) conflicts with LAPIC mapping at 0x0fee00000.
    
    Looking at the code it seems that guest_test_*phys*_mem variable gets
    mistakenly overwritten with guest_test_*virt*_mem while trying to adjust
    the former for alignment.
    With the correct variable adjusted this test runs successfully.
    Signed-off-by: default avatarMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
    Message-Id: <52e487458c3172923549bbcf9dfccfbe6faea60b.1637940473.git.maciej.szmigiero@oracle.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    81835ee1
kvm_page_table_test.c 13.7 KB