kernel test robot <lkp@xxxxxxxxx> writes: > tree: https://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-async-pf-int-5.8 > head: 62a9576cc07b7dcba951aaa00d6a55933c49367e > commit: b1d405751cd5792856b1b8333aafaca6bf09ccbb [3/6] KVM: x86: Switch KVM guest to using interrupts for page ready APF delivery > compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > cppcheck warnings: (new ones prefixed by >>) > >>> arch/x86/kernel/kvm.c:330:6: warning: Variable 'pa' is reassigned a value before the old one has been used. [redundantAssignment] > pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason)); > ^ > arch/x86/kernel/kvm.c:326:0: note: Variable 'pa' is reassigned a value before the old one has been used. > u64 pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason)); > ^ > arch/x86/kernel/kvm.c:330:6: note: Variable 'pa' is reassigned a value before the old one has been used. > pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason)); > ^ > > vim +/pa +330 arch/x86/kernel/kvm.c > > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 322 > ed3cf15271fa15 Nicholas Krause 2015-05-20 323 static void kvm_guest_cpu_init(void) > fd10cde9294f73 Gleb Natapov 2010-10-14 324 { > b1d405751cd579 Vitaly Kuznetsov 2020-05-25 325 if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF_INT) && kvmapf) { > b1d405751cd579 Vitaly Kuznetsov 2020-05-25 326 u64 pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason)); Leftover from previous version, this should just be 'u64 pa;' > ef68017eb5704e Andy Lutomirski 2020-02-28 327 > ef68017eb5704e Andy Lutomirski 2020-02-28 328 WARN_ON_ONCE(!static_branch_likely(&kvm_async_pf_enabled)); > ef68017eb5704e Andy Lutomirski 2020-02-28 329 > ef68017eb5704e Andy Lutomirski 2020-02-28 @330 pa = slow_virt_to_phys(this_cpu_ptr(&apf_reason)); > b1d405751cd579 Vitaly Kuznetsov 2020-05-25 331 pa |= KVM_ASYNC_PF_ENABLED | KVM_ASYNC_PF_DELIVERY_AS_INT; > 52a5c155cf79f1 Wanpeng Li 2017-07-13 332 > fe2a3027e74e40 Radim Krčmář 2018-02-01 333 if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF_VMEXIT)) > fe2a3027e74e40 Radim Krčmář 2018-02-01 334 pa |= KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT; > fe2a3027e74e40 Radim Krčmář 2018-02-01 335 > b1d405751cd579 Vitaly Kuznetsov 2020-05-25 336 wrmsrl(MSR_KVM_ASYNC_PF_INT, HYPERVISOR_CALLBACK_VECTOR); > b1d405751cd579 Vitaly Kuznetsov 2020-05-25 337 > 52a5c155cf79f1 Wanpeng Li 2017-07-13 338 wrmsrl(MSR_KVM_ASYNC_PF_EN, pa); > 89cbc76768c2fa Christoph Lameter 2014-08-17 339 __this_cpu_write(apf_reason.enabled, 1); > 6bca69ada4bc20 Thomas Gleixner 2020-03-07 340 pr_info("KVM setup async PF for cpu %d\n", smp_processor_id()); > fd10cde9294f73 Gleb Natapov 2010-10-14 341 } > d910f5c1064d7f Glauber Costa 2011-07-11 342 > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 343 if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) { > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 344 unsigned long pa; > 6bca69ada4bc20 Thomas Gleixner 2020-03-07 345 > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 346 /* Size alignment is implied but just to make it explicit. */ > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 347 BUILD_BUG_ON(__alignof__(kvm_apic_eoi) < 4); > 89cbc76768c2fa Christoph Lameter 2014-08-17 348 __this_cpu_write(kvm_apic_eoi, 0); > 89cbc76768c2fa Christoph Lameter 2014-08-17 349 pa = slow_virt_to_phys(this_cpu_ptr(&kvm_apic_eoi)) > 5dfd486c4750c9 Dave Hansen 2013-01-22 350 | KVM_MSR_ENABLED; > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 351 wrmsrl(MSR_KVM_PV_EOI_EN, pa); > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 352 } > ab9cf4996bb989 Michael S. Tsirkin 2012-06-24 353 > d910f5c1064d7f Glauber Costa 2011-07-11 354 if (has_steal_clock) > d910f5c1064d7f Glauber Costa 2011-07-11 355 kvm_register_steal_time(); > fd10cde9294f73 Gleb Natapov 2010-10-14 356 } > fd10cde9294f73 Gleb Natapov 2010-10-14 357 > > :::::: The code at line 330 was first introduced by commit > :::::: ef68017eb5704eb2b0577c3aa6619e13caf2b59f x86/kvm: Handle async page faults directly through do_page_fault() > > :::::: TO: Andy Lutomirski <luto@xxxxxxxxxx> > :::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx > -- Vitaly