Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: selftests: Fix benign %llx vs. %lx issues in guest asserts

Convert %llx to %lx as appropriate in guest asserts. The guest printf
implementation treats them the same as KVM selftests are 64-bit only, but
strictly adhering to the correct format will allow annotating the
underlying helpers with __printf() without introducing new warnings in the
build.

Link: https://lore.kernel.org/r/20231129224916.532431-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>

+12 -12
+3 -3
tools/testing/selftests/kvm/set_memory_region_test.c
··· 157 157 */ 158 158 val = guest_spin_on_val(0); 159 159 __GUEST_ASSERT(val == 1 || val == MMIO_VAL, 160 - "Expected '1' or MMIO ('%llx'), got '%llx'", MMIO_VAL, val); 160 + "Expected '1' or MMIO ('%lx'), got '%lx'", MMIO_VAL, val); 161 161 162 162 /* Spin until the misaligning memory region move completes. */ 163 163 val = guest_spin_on_val(MMIO_VAL); 164 164 __GUEST_ASSERT(val == 1 || val == 0, 165 - "Expected '0' or '1' (no MMIO), got '%llx'", val); 165 + "Expected '0' or '1' (no MMIO), got '%lx'", val); 166 166 167 167 /* Spin until the memory region starts to get re-aligned. */ 168 168 val = guest_spin_on_val(0); 169 169 __GUEST_ASSERT(val == 1 || val == MMIO_VAL, 170 - "Expected '1' or MMIO ('%llx'), got '%llx'", MMIO_VAL, val); 170 + "Expected '1' or MMIO ('%lx'), got '%lx'", MMIO_VAL, val); 171 171 172 172 /* Spin until the re-aligning memory region move completes. */ 173 173 val = guest_spin_on_val(MMIO_VAL);
+1 -1
tools/testing/selftests/kvm/x86_64/hyperv_features.c
··· 66 66 67 67 if (msr->write) 68 68 __GUEST_ASSERT(!vector, 69 - "WRMSR(0x%x) to '0x%llx', RDMSR read '0x%llx'", 69 + "WRMSR(0x%x) to '0x%lx', RDMSR read '0x%lx'", 70 70 msr->idx, msr->write_val, msr_val); 71 71 72 72 /* Invariant TSC bit appears when TSC invariant control MSR is written to */
+1 -1
tools/testing/selftests/kvm/x86_64/private_mem_conversions_test.c
··· 35 35 \ 36 36 for (i = 0; i < size; i++) \ 37 37 __GUEST_ASSERT(mem[i] == pattern, \ 38 - "Guest expected 0x%x at offset %lu (gpa 0x%llx), got 0x%x", \ 38 + "Guest expected 0x%x at offset %lu (gpa 0x%lx), got 0x%x", \ 39 39 pattern, i, gpa + i, mem[i]); \ 40 40 } while (0) 41 41
+2 -2
tools/testing/selftests/kvm/x86_64/svm_nested_soft_inject_test.c
··· 103 103 104 104 run_guest(vmcb, svm->vmcb_gpa); 105 105 __GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL, 106 - "Expected VMMCAL #VMEXIT, got '0x%x', info1 = '0x%llx, info2 = '0x%llx'", 106 + "Expected VMMCAL #VMEXIT, got '0x%x', info1 = '0x%lx, info2 = '0x%lx'", 107 107 vmcb->control.exit_code, 108 108 vmcb->control.exit_info_1, vmcb->control.exit_info_2); 109 109 ··· 133 133 134 134 run_guest(vmcb, svm->vmcb_gpa); 135 135 __GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_HLT, 136 - "Expected HLT #VMEXIT, got '0x%x', info1 = '0x%llx, info2 = '0x%llx'", 136 + "Expected HLT #VMEXIT, got '0x%x', info1 = '0x%lx, info2 = '0x%lx'", 137 137 vmcb->control.exit_code, 138 138 vmcb->control.exit_info_1, vmcb->control.exit_info_2); 139 139
+1 -1
tools/testing/selftests/kvm/x86_64/vmx_pmu_caps_test.c
··· 56 56 uint8_t vector = wrmsr_safe(MSR_IA32_PERF_CAPABILITIES, val); 57 57 58 58 __GUEST_ASSERT(vector == GP_VECTOR, 59 - "Expected #GP for value '0x%llx', got vector '0x%x'", 59 + "Expected #GP for value '0x%lx', got vector '0x%x'", 60 60 val, vector); 61 61 } 62 62
+4 -4
tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c
··· 25 25 \ 26 26 __GUEST_ASSERT((__supported & (xfeatures)) != (xfeatures) || \ 27 27 __supported == ((xfeatures) | (dependencies)), \ 28 - "supported = 0x%llx, xfeatures = 0x%llx, dependencies = 0x%llx", \ 28 + "supported = 0x%lx, xfeatures = 0x%llx, dependencies = 0x%llx", \ 29 29 __supported, (xfeatures), (dependencies)); \ 30 30 } while (0) 31 31 ··· 42 42 uint64_t __supported = (supported_xcr0) & (xfeatures); \ 43 43 \ 44 44 __GUEST_ASSERT(!__supported || __supported == (xfeatures), \ 45 - "supported = 0x%llx, xfeatures = 0x%llx", \ 45 + "supported = 0x%lx, xfeatures = 0x%llx", \ 46 46 __supported, (xfeatures)); \ 47 47 } while (0) 48 48 ··· 81 81 82 82 vector = xsetbv_safe(0, supported_xcr0); 83 83 __GUEST_ASSERT(!vector, 84 - "Expected success on XSETBV(0x%llx), got vector '0x%x'", 84 + "Expected success on XSETBV(0x%lx), got vector '0x%x'", 85 85 supported_xcr0, vector); 86 86 87 87 for (i = 0; i < 64; i++) { ··· 90 90 91 91 vector = xsetbv_safe(0, supported_xcr0 | BIT_ULL(i)); 92 92 __GUEST_ASSERT(vector == GP_VECTOR, 93 - "Expected #GP on XSETBV(0x%llx), supported XCR0 = %llx, got vector '0x%x'", 93 + "Expected #GP on XSETBV(0x%llx), supported XCR0 = %lx, got vector '0x%x'", 94 94 BIT_ULL(i), supported_xcr0, vector); 95 95 } 96 96