[hch-misc:i915-mdev 40/40] drivers/vfio/vfio.c:1649:24: sparse: sparse: incorrect type in return expression (different base types)

From: kernel test robot
Date: Sat Jul 24 2021 - 18:01:43 EST


tree: git://git.infradead.org/users/hch/misc.git i915-mdev
head: 3e7e1da34feaeb5473f397c9cab73b4eb7f6a33c
commit: 3e7e1da34feaeb5473f397c9cab73b4eb7f6a33c [40/40] vfio: improve vfio_group_get_external_user
config: sparc64-randconfig-s031-20210725 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 10.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc i915-mdev
git checkout 3e7e1da34feaeb5473f397c9cab73b4eb7f6a33c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc64

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


sparse warnings: (new ones prefixed by >>)
>> drivers/vfio/vfio.c:1649:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected struct vfio_group * @@ got int @@
drivers/vfio/vfio.c:1649:24: sparse: expected struct vfio_group *
drivers/vfio/vfio.c:1649:24: sparse: got int

vim +1649 drivers/vfio/vfio.c

1630
1631 /**
1632 * vfio_group_container_acquire_fd - acquire access to a VFIO container
1633 * by file descriptor
1634 * @fd: file descriptor to access
1635 *
1636 * Grab a reference to the VFIO container used by the VFIO group pointed to by
1637 * @fd.
1638 *
1639 * Returns the VFIO group on success or an error pointer.
1640 */
1641 struct vfio_group *vfio_group_container_acquire_fd(int fd)
1642 {
1643 struct vfio_group *group;
1644 struct fd f;
1645 int ret = -EINVAL;
1646
1647 f = fdget(fd);
1648 if (!f.file)
> 1649 return -EBADF;
1650 if (f.file->f_op != &vfio_group_fops)
1651 goto out_fdput;
1652
1653 group = f.file->private_data;
1654 ret = vfio_group_container_acquire(group);
1655 if (ret)
1656 goto out_fdput;
1657 return group;
1658
1659 out_fdput:
1660 fdput(f);
1661 return ERR_PTR(ret);
1662 }
1663 EXPORT_SYMBOL_GPL(vfio_group_container_acquire_fd);
1664

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

Attachment: .config.gz
Description: application/gzip