kernel test robot <lkp(a)intel.com> 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(a)intel.com>
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(a)kernel.org>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
--
Vitaly