Hi Reinette, I love your patch! Yet something to improve: [auto build test ERROR on 197b6b60ae7bc51dd0814953c562833143b292aa] url: https://github.com/intel-lab-lkp/linux/commits/Reinette-Chatre/vfio-pci-Consolidate-irq-cleanup-on-MSI-MSI-X-disable/20230329-055735 base: 197b6b60ae7bc51dd0814953c562833143b292aa patch link: https://lore.kernel.org/r/81a6066c0f0d6dfa06f41c016abfb7152064e33e.1680038771.git.reinette.chatre%40intel.com patch subject: [PATCH V2 8/8] vfio/pci: Clear VFIO_IRQ_INFO_NORESIZE for MSI-X config: i386-randconfig-a014-20230327 (https://download.01.org/0day-ci/archive/20230329/202303291158.UlMhtYCO-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/39bc54993b029037b12b4a7e947d6cd500065c6b git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Reinette-Chatre/vfio-pci-Consolidate-irq-cleanup-on-MSI-MSI-X-disable/20230329-055735 git checkout 39bc54993b029037b12b4a7e947d6cd500065c6b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/vfio/pci/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303291158.UlMhtYCO-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/vfio/pci/vfio_pci_core.c:1116:6: error: implicit declaration of function 'pci_msix_can_alloc_dyn' is invalid in C99 [-Werror,-Wimplicit-function-declaration] !pci_msix_can_alloc_dyn(vdev->pdev))) ^ 1 error generated. vim +/pci_msix_can_alloc_dyn +1116 drivers/vfio/pci/vfio_pci_core.c 1082 1083 static int vfio_pci_ioctl_get_irq_info(struct vfio_pci_core_device *vdev, 1084 struct vfio_irq_info __user *arg) 1085 { 1086 unsigned long minsz = offsetofend(struct vfio_irq_info, count); 1087 struct vfio_irq_info info; 1088 1089 if (copy_from_user(&info, arg, minsz)) 1090 return -EFAULT; 1091 1092 if (info.argsz < minsz || info.index >= VFIO_PCI_NUM_IRQS) 1093 return -EINVAL; 1094 1095 switch (info.index) { 1096 case VFIO_PCI_INTX_IRQ_INDEX ... VFIO_PCI_MSIX_IRQ_INDEX: 1097 case VFIO_PCI_REQ_IRQ_INDEX: 1098 break; 1099 case VFIO_PCI_ERR_IRQ_INDEX: 1100 if (pci_is_pcie(vdev->pdev)) 1101 break; 1102 fallthrough; 1103 default: 1104 return -EINVAL; 1105 } 1106 1107 info.flags = VFIO_IRQ_INFO_EVENTFD; 1108 1109 info.count = vfio_pci_get_irq_count(vdev, info.index); 1110 1111 if (info.index == VFIO_PCI_INTX_IRQ_INDEX) 1112 info.flags |= 1113 (VFIO_IRQ_INFO_MASKABLE | VFIO_IRQ_INFO_AUTOMASKED); 1114 else if ((info.index != VFIO_PCI_MSIX_IRQ_INDEX) || 1115 (info.index == VFIO_PCI_MSIX_IRQ_INDEX && > 1116 !pci_msix_can_alloc_dyn(vdev->pdev))) 1117 info.flags |= VFIO_IRQ_INFO_NORESIZE; 1118 1119 return copy_to_user(arg, &info, minsz) ? -EFAULT : 0; 1120 } 1121 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests