tree:
https://github.com/frank-w/BPI-R2-4.14 5.14-hdmilarb
head: a11fbee1b23c2d5f7c177ced2043eb54c53a5d50
commit: a11fbee1b23c2d5f7c177ced2043eb54c53a5d50 [45/45] iommu: add debug
config: arm64-randconfig-s031-20210714 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.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
#
https://github.com/frank-w/BPI-R2-4.14/commit/a11fbee1b23c2d5f7c177ced204...
git remote add frank-w-bpi-r2-4.14
https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.14-hdmilarb
git checkout a11fbee1b23c2d5f7c177ced2043eb54c53a5d50
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash
drivers/iommu/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/iommu/iommu.c:926:9: sparse: sparse: mixing declarations and code
> drivers/iommu/iommu.c:929:86: sparse: sparse: non size-preserving
pointer to integer cast
vim +929 drivers/iommu/iommu.c
915
916 /**
917 * iommu_group_remove_device - remove a device from it's current group
918 * @dev: device to be removed
919 *
920 * This function is called by an iommu driver to remove the device from
921 * it's current group. This decrements the iommu group reference count.
922 */
923 void iommu_group_remove_device(struct device *dev)
924 {
925 printk(KERN_ALERT "DEBUG: Passed %s %d \n",__FUNCTION__,__LINE__);
926 struct iommu_group *group = dev->iommu_group;
927 struct group_device *tmp_device, *device = NULL;
928
929 printk(KERN_ALERT "DEBUG: Passed %s %d
0x%08x\n",__FUNCTION__,__LINE__,(unsigned int)group);
930 //dev_info(dev,
"Removing from iommu group %d\n", group->id);
931
932 /* Pre-notify listeners that a device is being removed. */
933 blocking_notifier_call_chain(&group->notifier,
934 IOMMU_GROUP_NOTIFY_DEL_DEVICE, dev);
935 printk(KERN_ALERT "DEBUG: Passed %s %d \n",__FUNCTION__,__LINE__);
936 mutex_lock(&group->mutex);
937 list_for_each_entry(tmp_device, &group->devices, list) {
938 if (tmp_device->dev == dev) {
939 device = tmp_device;
940 list_del(&device->list);
941 break;
942 }
943 }
944 mutex_unlock(&group->mutex);
945
946 if (!device)
947 return;
948
949 sysfs_remove_link(group->devices_kobj, device->name);
950 sysfs_remove_link(&dev->kobj, "iommu_group");
951
952 trace_remove_device_from_group(group->id, dev);
953
954 kfree(device->name);
955 kfree(device);
956 dev->iommu_group = NULL;
957 kobject_put(group->devices_kobj);
958 }
959 EXPORT_SYMBOL_GPL(iommu_group_remove_device);
960
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org