Re: [PATCH v9 07/14] KVM: Don't allocate dirty bitmap if dirty ring is enabled

From: kbuild test robot
Date: Tue May 26 2020 - 10:56:06 EST


Hi Peter,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on vhost/linux-next]
[also build test WARNING on linus/master v5.7-rc7]
[cannot apply to kvm/linux-next tip/auto-latest linux/master next-20200522]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Peter-Xu/KVM-Dirty-ring-interface/20200524-070926
base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>


cppcheck warnings: (new ones prefixed by >>)

>> arch/x86/kvm/mmu/mmu.c:1280:3: warning: Returning an integer in a function with pointer return type is not portable. [CastIntegerToAddressAtReturn]
return false;
^
arch/x86/kvm/mmu/mmu.c:3725:9: warning: Redundant initialization for 'root'. The initialized value is overwritten before it is read. [redundantInitialization]
root = __pa(sp->spt);
^
arch/x86/kvm/mmu/mmu.c:3715:15: note: root is initialized
hpa_t root = vcpu->arch.mmu->pae_root[i];
^
arch/x86/kvm/mmu/mmu.c:3725:9: note: root is overwritten
root = __pa(sp->spt);
^
arch/x86/kvm/mmu/mmu.c:3769:8: warning: Redundant initialization for 'root'. The initialized value is overwritten before it is read. [redundantInitialization]
root = __pa(sp->spt);
^
arch/x86/kvm/mmu/mmu.c:3758:14: note: root is initialized
hpa_t root = vcpu->arch.mmu->root_hpa;
^
arch/x86/kvm/mmu/mmu.c:3769:8: note: root is overwritten
root = __pa(sp->spt);
^
arch/x86/kvm/mmu/mmu.c:4670:15: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
const u8 x = BYTE_MASK(ACC_EXEC_MASK);
^
arch/x86/kvm/mmu/mmu.c:4671:15: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
const u8 w = BYTE_MASK(ACC_WRITE_MASK);
^
arch/x86/kvm/mmu/mmu.c:4672:15: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
const u8 u = BYTE_MASK(ACC_USER_MASK);

# https://github.com/0day-ci/linux/commit/2c23bd2b96e30ae3814e3e56f01a6234131cb531
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 2c23bd2b96e30ae3814e3e56f01a6234131cb531
vim +1280 arch/x86/kvm/mmu/mmu.c

b8e8c8303ff28c arch/x86/kvm/mmu.c Paolo Bonzini 2019-11-04 1269
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1270 static struct kvm_memory_slot *
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1271 gfn_to_memslot_dirty_bitmap(struct kvm_vcpu *vcpu, gfn_t gfn,
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1272 bool no_dirty_log)
05da45583de9b3 arch/x86/kvm/mmu.c Marcelo Tosatti 2008-02-23 1273 {
05da45583de9b3 arch/x86/kvm/mmu.c Marcelo Tosatti 2008-02-23 1274 struct kvm_memory_slot *slot;
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1275
54bf36aac52031 arch/x86/kvm/mmu.c Paolo Bonzini 2015-04-08 1276 slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn);
91b0d268a59dd9 arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2020-01-21 1277 if (!slot || slot->flags & KVM_MEMSLOT_INVALID)
91b0d268a59dd9 arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2020-01-21 1278 return NULL;
2c23bd2b96e30a arch/x86/kvm/mmu/mmu.c Peter Xu 2020-05-23 1279 if (no_dirty_log && kvm_slot_dirty_track_enabled(slot))
2c23bd2b96e30a arch/x86/kvm/mmu/mmu.c Peter Xu 2020-05-23 @1280 return false;
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1281
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1282 return slot;
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1283 }
5d163b1c9d6e55 arch/x86/kvm/mmu.c Xiao Guangrong 2011-03-09 1284

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx