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

From: kbuild test robot
Date: Wed May 27 2020 - 09:22:03 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-20200526]
[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
config: i386-randconfig-s002-20200527 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-240-gf0fe1cd9-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

arch/x86/kvm/mmu/mmu.c:693:18: sparse: sparse: cast to non-scalar
arch/x86/kvm/mmu/mmu.c:712:18: sparse: sparse: cast to non-scalar
arch/x86/kvm/mmu/mmu.c:731:18: sparse: sparse: cast to non-scalar
>> arch/x86/kvm/mmu/mmu.c:1280:24: sparse: sparse: Using plain integer as NULL pointer
arch/x86/kvm/mmu/mmu.c:4687:57: sparse: sparse: cast truncates bits from constant value (ffffff33 becomes 33)
arch/x86/kvm/mmu/mmu.c:4689:56: sparse: sparse: cast truncates bits from constant value (ffffff0f becomes f)
arch/x86/kvm/mmu/mmu.c:4691:57: sparse: sparse: cast truncates bits from constant value (ffffff55 becomes 55)

vim +1280 arch/x86/kvm/mmu/mmu.c

1269
1270 static struct kvm_memory_slot *
1271 gfn_to_memslot_dirty_bitmap(struct kvm_vcpu *vcpu, gfn_t gfn,
1272 bool no_dirty_log)
1273 {
1274 struct kvm_memory_slot *slot;
1275
1276 slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn);
1277 if (!slot || slot->flags & KVM_MEMSLOT_INVALID)
1278 return NULL;
1279 if (no_dirty_log && kvm_slot_dirty_track_enabled(slot))
> 1280 return false;
1281
1282 return slot;
1283 }
1284

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

Attachment: .config.gz
Description: application/gzip