Hi Shyam, kernel test robot noticed the following build errors:
[auto build test ERROR on soc/for-next] [also build test ERROR on linus/master v6.16 next-20250807] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Shyam-Saini/arm-smmu-move-MSI_IOVA-macro-definitions/20250807-055741 base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next patch link: https://lore.kernel.org/r/20250806215539.1240561-4-shyamsaini%40linux.microsoft.com patch subject: [PATCH v3 3/3] arm-smmu: select suitable MSI IOVA config: um-randconfig-r071-20250807 (https://download.01.org/0day-ci/archive/20250808/202508080104.m1bnmimo-...@intel.com/config) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250808/202508080104.m1bnmimo-...@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 <l...@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202508080104.m1bnmimo-...@intel.com/ All errors (new ones prefixed by >>): In file included from drivers/iommu/arm/arm-smmu/arm-smmu.c:24: In file included from include/linux/dma-mapping.h:8: In file included from include/linux/scatterlist.h:9: In file included from arch/um/include/asm/io.h:24: include/asm-generic/io.h:1175:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 1175 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port; | ~~~~~~~~~~ ^ drivers/iommu/arm/arm-smmu/arm-smmu.c:1602:35: error: use of undeclared identifier 'MSI_IOVA_BASE' 1602 | static const u64 msi_bases[] = { MSI_IOVA_BASE, MSI_IOVA_BASE2 }; | ^~~~~~~~~~~~~ >> drivers/iommu/arm/arm-smmu/arm-smmu.c:1602:50: error: use of undeclared >> identifier 'MSI_IOVA_BASE2' 1602 | static const u64 msi_bases[] = { MSI_IOVA_BASE, MSI_IOVA_BASE2 }; | ^~~~~~~~~~~~~~ >> drivers/iommu/arm/arm-smmu/arm-smmu.c:1610:23: error: invalid application of >> 'sizeof' to an incomplete type 'const u64[]' (aka 'const unsigned long >> long[]') 1610 | for (int i = 0; i != ARRAY_SIZE(msi_bases); i++) { | ^~~~~~~~~~~~~~~~~~~~~ include/linux/array_size.h:11:32: note: expanded from macro 'ARRAY_SIZE' 11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) | ^~~~~ drivers/iommu/arm/arm-smmu/arm-smmu.c:1613:44: error: use of undeclared identifier 'MSI_IOVA_LENGTH' 1613 | if (resv_region_intersects(msi_bases[i], MSI_IOVA_LENGTH, head)) | ^~~~~~~~~~~~~~~ drivers/iommu/arm/arm-smmu/arm-smmu.c:1616:50: error: use of undeclared identifier 'MSI_IOVA_LENGTH' 1616 | region = iommu_alloc_resv_region(msi_bases[i], MSI_IOVA_LENGTH, prot, | ^~~~~~~~~~~~~~~ 1 warning and 5 errors generated. vim +/MSI_IOVA_BASE2 +1602 drivers/iommu/arm/arm-smmu/arm-smmu.c 1596 1597 static void arm_smmu_get_resv_regions(struct device *dev, 1598 struct list_head *head) 1599 { 1600 int prot = IOMMU_WRITE | IOMMU_NOEXEC | IOMMU_MMIO; 1601 > 1602 static const u64 msi_bases[] = { MSI_IOVA_BASE, MSI_IOVA_BASE2 > }; 1603 1604 iommu_dma_get_resv_regions(dev, head); 1605 1606 /* 1607 * Use the first msi_base that does not intersect with a platform 1608 * reserved region. The SW MSI base selection is entirely arbitrary. 1609 */ > 1610 for (int i = 0; i != ARRAY_SIZE(msi_bases); i++) { 1611 struct iommu_resv_region *region; 1612 1613 if (resv_region_intersects(msi_bases[i], MSI_IOVA_LENGTH, head)) 1614 continue; 1615 1616 region = iommu_alloc_resv_region(msi_bases[i], MSI_IOVA_LENGTH, prot, 1617 IOMMU_RESV_SW_MSI, GFP_KERNEL); 1618 if (!region) 1619 return; 1620 1621 list_add_tail(®ion->list, head); 1622 return; 1623 } 1624 } 1625 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki