[luxis1999-iommufd:iommufd-v5.17-rc4 29/30] drivers/vfio/vfio.c:1800:24: error: implicit declaration of function 'iommufd_vfio_set_iommu'

From: kernel test robot
Date: Tue Mar 01 2022 - 11:37:50 EST


tree: https://github.com/luxis1999/iommufd iommufd-v5.17-rc4
head: 2bca5fa75dad57f41002a93861a950d35d55e568
commit: f8fb748995b4e1156fd76a3860da5ea897536a3c [29/30] vfio: Fix kernel panic in vfio_ioctl_check_extension()
config: mips-randconfig-r015-20220301 (https://download.01.org/0day-ci/archive/20220302/202203020047.jhfhUk35-lkp@xxxxxxxxx/config)
compiler: mipsel-linux-gcc (GCC) 11.2.0
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/luxis1999/iommufd/commit/f8fb748995b4e1156fd76a3860da5ea897536a3c
git remote add luxis1999-iommufd https://github.com/luxis1999/iommufd
git fetch --no-tags luxis1999-iommufd iommufd-v5.17-rc4
git checkout f8fb748995b4e1156fd76a3860da5ea897536a3c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash drivers/

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

All errors (new ones prefixed by >>):

drivers/vfio/vfio.c: In function '__vfio_group_unset_container':
drivers/vfio/vfio.c:1088:17: error: too many arguments to function 'vfio_group_unset_iommufd'
1088 | vfio_group_unset_iommufd(group->iommufd, &group->device_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio.c:35:
include/linux/iommufd.h:57:20: note: declared here
57 | static inline void vfio_group_unset_iommufd(void *iommufd)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/vfio/vfio.c: In function 'vfio_group_set_container':
drivers/vfio/vfio.c:1166:49: error: passing argument 2 of 'vfio_group_set_iommufd' from incompatible pointer type [-Werror=incompatible-pointer-types]
1166 | &group->device_list);
| ^~~~~~~~~~~~~~~~~~~
| |
| struct list_head *
In file included from drivers/vfio/vfio.c:35:
include/linux/iommufd.h:51:70: note: expected 'struct iommu_group *' but argument is of type 'struct list_head *'
51 | static inline int vfio_group_set_iommufd(int fd, struct iommu_group *group,
| ~~~~~~~~~~~~~~~~~~~~^~~~~
drivers/vfio/vfio.c:1165:26: error: too few arguments to function 'vfio_group_set_iommufd'
1165 | group->iommufd = vfio_group_set_iommufd(container_fd,
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio.c:35:
include/linux/iommufd.h:51:19: note: declared here
51 | static inline int vfio_group_set_iommufd(int fd, struct iommu_group *group,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/vfio/vfio.c: In function 'vfio_external_check_extension':
>> drivers/vfio/vfio.c:1800:24: error: implicit declaration of function 'iommufd_vfio_set_iommu' [-Werror=implicit-function-declaration]
1800 | return iommufd_vfio_set_iommu(group->iommufd, arg);
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/iommufd_vfio_set_iommu +1800 drivers/vfio/vfio.c

1796
1797 long vfio_external_check_extension(struct vfio_group *group, unsigned long arg)
1798 {
1799 if (group->iommufd)
> 1800 return iommufd_vfio_set_iommu(group->iommufd, arg);
1801
1802 return vfio_ioctl_check_extension(group->container, arg);
1803 }
1804 EXPORT_SYMBOL_GPL(vfio_external_check_extension);
1805

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