tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 663397d1b469ff57f216d499b74a0b0183a508b8 commit: 4fc50feaeafc0f92cc72c1e88aa7677f568df723 [14034/14039] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git config: x86_64-randconfig-s023 compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=4fc50feaeafc0f92cc72c1e88aa7677f568df723 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 4fc50feaeafc0f92cc72c1e88aa7677f568df723 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/vfio/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/vfio/group.c:111:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@ drivers/vfio/group.c:111:13: sparse: expected int [noderef] __user *__ptr_clean drivers/vfio/group.c:111:13: sparse: got int * vim +111 drivers/vfio/group.c 9eefba8002c27d6 Yi Liu 2022-11-25 101 9eefba8002c27d6 Yi Liu 2022-11-25 102 static int vfio_group_ioctl_set_container(struct vfio_group *group, 9eefba8002c27d6 Yi Liu 2022-11-25 103 int __user *arg) 9eefba8002c27d6 Yi Liu 2022-11-25 104 { 9eefba8002c27d6 Yi Liu 2022-11-25 105 struct vfio_container *container; 9eefba8002c27d6 Yi Liu 2022-11-25 106 struct iommufd_ctx *iommufd; 9eefba8002c27d6 Yi Liu 2022-11-25 107 struct fd f; 9eefba8002c27d6 Yi Liu 2022-11-25 108 int ret; 9eefba8002c27d6 Yi Liu 2022-11-25 109 int fd; 9eefba8002c27d6 Yi Liu 2022-11-25 110 9eefba8002c27d6 Yi Liu 2022-11-25 @111 if (get_user(fd, arg)) 9eefba8002c27d6 Yi Liu 2022-11-25 112 return -EFAULT; 9eefba8002c27d6 Yi Liu 2022-11-25 113 9eefba8002c27d6 Yi Liu 2022-11-25 114 f = fdget(fd); 9eefba8002c27d6 Yi Liu 2022-11-25 115 if (!f.file) 9eefba8002c27d6 Yi Liu 2022-11-25 116 return -EBADF; 9eefba8002c27d6 Yi Liu 2022-11-25 117 9eefba8002c27d6 Yi Liu 2022-11-25 118 mutex_lock(&group->group_lock); 9eefba8002c27d6 Yi Liu 2022-11-25 119 if (vfio_group_has_iommu(group)) { 9eefba8002c27d6 Yi Liu 2022-11-25 120 ret = -EINVAL; 9eefba8002c27d6 Yi Liu 2022-11-25 121 goto out_unlock; 9eefba8002c27d6 Yi Liu 2022-11-25 122 } 9eefba8002c27d6 Yi Liu 2022-11-25 123 if (!group->iommu_group) { 9eefba8002c27d6 Yi Liu 2022-11-25 124 ret = -ENODEV; 9eefba8002c27d6 Yi Liu 2022-11-25 125 goto out_unlock; 9eefba8002c27d6 Yi Liu 2022-11-25 126 } 9eefba8002c27d6 Yi Liu 2022-11-25 127 9eefba8002c27d6 Yi Liu 2022-11-25 128 container = vfio_container_from_file(f.file); 9eefba8002c27d6 Yi Liu 2022-11-25 129 if (container) { 9eefba8002c27d6 Yi Liu 2022-11-25 130 ret = vfio_container_attach_group(container, group); 9eefba8002c27d6 Yi Liu 2022-11-25 131 goto out_unlock; 9eefba8002c27d6 Yi Liu 2022-11-25 132 } 9eefba8002c27d6 Yi Liu 2022-11-25 133 9eefba8002c27d6 Yi Liu 2022-11-25 134 iommufd = iommufd_ctx_from_file(f.file); 9eefba8002c27d6 Yi Liu 2022-11-25 135 if (!IS_ERR(iommufd)) { 9eefba8002c27d6 Yi Liu 2022-11-25 136 u32 ioas_id; 9eefba8002c27d6 Yi Liu 2022-11-25 137 9eefba8002c27d6 Yi Liu 2022-11-25 138 ret = iommufd_vfio_compat_ioas_id(iommufd, &ioas_id); 9eefba8002c27d6 Yi Liu 2022-11-25 139 if (ret) { 9eefba8002c27d6 Yi Liu 2022-11-25 140 iommufd_ctx_put(group->iommufd); 9eefba8002c27d6 Yi Liu 2022-11-25 141 goto out_unlock; 9eefba8002c27d6 Yi Liu 2022-11-25 142 } 9eefba8002c27d6 Yi Liu 2022-11-25 143 9eefba8002c27d6 Yi Liu 2022-11-25 144 group->iommufd = iommufd; 9eefba8002c27d6 Yi Liu 2022-11-25 145 goto out_unlock; 9eefba8002c27d6 Yi Liu 2022-11-25 146 } 9eefba8002c27d6 Yi Liu 2022-11-25 147 9eefba8002c27d6 Yi Liu 2022-11-25 148 /* The FD passed is not recognized. */ 9eefba8002c27d6 Yi Liu 2022-11-25 149 ret = -EBADFD; 9eefba8002c27d6 Yi Liu 2022-11-25 150 9eefba8002c27d6 Yi Liu 2022-11-25 151 out_unlock: 9eefba8002c27d6 Yi Liu 2022-11-25 152 mutex_unlock(&group->group_lock); 9eefba8002c27d6 Yi Liu 2022-11-25 153 fdput(f); 9eefba8002c27d6 Yi Liu 2022-11-25 154 return ret; 9eefba8002c27d6 Yi Liu 2022-11-25 155 } 9eefba8002c27d6 Yi Liu 2022-11-25 156 :::::: The code at line 111 was first introduced by commit :::::: 9eefba8002c27d65ab52a533fd0611b099b73591 vfio: Move vfio group specific code into group.c :::::: TO: Yi Liu :::::: CC: Jason Gunthorpe -- 0-DAY CI Kernel Test Service https://01.org/lkp