All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 5532/8449] arch/arm64/kvm/vgic/vgic-v5-tables.c:962:34: sparse: sparse: Using plain integer as NULL pointer
@ 2026-09-19  1:40 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-19  1:40 UTC (permalink / raw)
  To: Sascha Bischoff; +Cc: oe-kbuild-all, Marc Zyngier

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   3f2425f5b5bbbdd991ca9cdfd5502e68d8895998
commit: 77f7a9282fee67180134e75b107ff09d7e1a5876 [5532/8449] KVM: arm64: gic-v5: Introduce guest IST alloc and management
config: arm64-randconfig-r1307-20260918 (https://download.01.org/0day-ci/archive/20260919/202609190952.glUgOBvp-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260919/202609190952.glUgOBvp-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609190952.glUgOBvp-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   arch/arm64/kvm/vgic/vgic-v5-tables.c:464:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *vmd_base @@     got void *[assigned] vmd @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:464:31: sparse:     expected void [noderef] __iomem *vmd_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:464:31: sparse:     got void *[assigned] vmd
   arch/arm64/kvm/vgic/vgic-v5-tables.c:505:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __le64 [noderef] [usertype] __iomem *vpet_base @@     got restricted __le64 [usertype] *[assigned] vpet @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:505:24: sparse:     expected restricted __le64 [noderef] [usertype] __iomem *vpet_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:505:24: sparse:     got restricted __le64 [usertype] *[assigned] vpet
>> arch/arm64/kvm/vgic/vgic-v5-tables.c:962:34: sparse: sparse: Using plain integer as NULL pointer
   arch/arm64/kvm/vgic/vgic-v5-tables.c:628:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *objp @@     got restricted __le64 [noderef] [usertype] __iomem *vpet_base @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:628:18: sparse:     expected void const *objp
   arch/arm64/kvm/vgic/vgic-v5-tables.c:628:18: sparse:     got restricted __le64 [noderef] [usertype] __iomem *vpet_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:629:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *objp @@     got void [noderef] __iomem *vmd_base @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:629:18: sparse:     expected void const *objp
   arch/arm64/kvm/vgic/vgic-v5-tables.c:629:18: sparse:     got void [noderef] __iomem *vmd_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:669:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __le64 [usertype] *vpet_base @@     got restricted __le64 [noderef] [usertype] __iomem *vpet_base @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:669:19: sparse:     expected restricted __le64 [usertype] *vpet_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:669:19: sparse:     got restricted __le64 [noderef] [usertype] __iomem *vpet_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:681:13: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le64 [usertype] tmp @@     got unsigned long long @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:681:13: sparse:     expected restricted __le64 [usertype] tmp
   arch/arm64/kvm/vgic/vgic-v5-tables.c:681:13: sparse:     got unsigned long long
   arch/arm64/kvm/vgic/vgic-v5-tables.c:684:17: sparse: sparse: cast from restricted __le64
   arch/arm64/kvm/vgic/vgic-v5-tables.c:717:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __le64 [usertype] *vpet_base @@     got restricted __le64 [noderef] [usertype] __iomem *vpet_base @@
   arch/arm64/kvm/vgic/vgic-v5-tables.c:717:19: sparse:     expected restricted __le64 [usertype] *vpet_base
   arch/arm64/kvm/vgic/vgic-v5-tables.c:717:19: sparse:     got restricted __le64 [noderef] [usertype] __iomem *vpet_base

vim +962 arch/arm64/kvm/vgic/vgic-v5-tables.c

   938	
   939	/* Allocate a two-level IST - LPIs, only */
   940	static int vgic_v5_alloc_two_level_lpi_ist(struct kvm *kvm, unsigned int id_bits,
   941						   unsigned int istsz, unsigned int l2sz)
   942	{
   943		u32 vm_id = vgic_v5_vm_id(kvm);
   944		struct vgic_v5_vm_info *vmi;
   945		int ret;
   946	
   947		/*
   948		 * Allocate the L1 IST first, then all of the L2s. Everything
   949		 * is preallocated and we do no on-demand IST allocation. This
   950		 * is to avoid needing to track if and when the guest is doing
   951		 * on-demand IST allocation.
   952		 */
   953		ret = vgic_v5_alloc_l1_ist(kvm, id_bits, istsz, l2sz);
   954		if (ret)
   955			return ret;
   956	
   957		ret = vgic_v5_alloc_l2_ists(kvm, id_bits, istsz, l2sz);
   958		if (ret) {
   959			/* Free the L1 IST again */
   960			vmi = xa_load(&vm_info, vm_id);
   961			kfree(vmi->h_lpi_ist);
 > 962			vmi->h_lpi_ist = 0;
   963	
   964			return ret;
   965		}
   966	
   967		return 0;
   968	}
   969	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-19  1:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-19  1:40 [linux-next:master 5532/8449] arch/arm64/kvm/vgic/vgic-v5-tables.c:962:34: sparse: sparse: Using plain integer as NULL pointer kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.