drivers/gpu/drm/exynos/exynos_drm_dma.c:144 exynos_drm_register_dma() error: uninitialized symbol 'mapping'.

From: Dan Carpenter
Date: Mon Oct 26 2020 - 06:02:25 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d76913908102044f14381df865bb74df17a538cb
commit: b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248 iommu: Tidy up Kconfig for SoC IOMMUs
config: i386-randconfig-m021-20201026 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

smatch warnings:
drivers/gpu/drm/exynos/exynos_drm_dma.c:144 exynos_drm_register_dma() error: uninitialized symbol 'mapping'.

vim +/mapping +144 drivers/gpu/drm/exynos/exynos_drm_dma.c

07dc3678bacc2a Marek Szyprowski 2020-03-09 121 int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
07dc3678bacc2a Marek Szyprowski 2020-03-09 122 void **dma_priv)
237556962e5115 Andrzej Hajda 2018-10-12 123 {
237556962e5115 Andrzej Hajda 2018-10-12 124 struct exynos_drm_private *priv = drm->dev_private;
237556962e5115 Andrzej Hajda 2018-10-12 125
237556962e5115 Andrzej Hajda 2018-10-12 126 if (!priv->dma_dev) {
237556962e5115 Andrzej Hajda 2018-10-12 127 priv->dma_dev = dev;
237556962e5115 Andrzej Hajda 2018-10-12 128 DRM_INFO("Exynos DRM: using %s device for DMA mapping operations\n",
237556962e5115 Andrzej Hajda 2018-10-12 129 dev_name(dev));
237556962e5115 Andrzej Hajda 2018-10-12 130 }
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 131
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 132 if (!IS_ENABLED(CONFIG_EXYNOS_IOMMU))
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 133 return 0;
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 134
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 135 if (!priv->mapping) {
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 136 void *mapping;
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 137
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 138 if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 139 mapping = arm_iommu_create_mapping(&platform_bus_type,
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 140 EXYNOS_DEV_ADDR_START, EXYNOS_DEV_ADDR_SIZE);
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 141 else if (IS_ENABLED(CONFIG_IOMMU_DMA))
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 142 mapping = iommu_get_domain_for_dev(priv->dma_dev);
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 143
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 @144 if (IS_ERR(mapping))
67fbf3a3ef8443 Andrzej Hajda 2018-10-12 145 return PTR_ERR(mapping);

In the attached config CONFIG_EXYNOS_IOMMU=y and the other configs are
disabled so it seems like this is a reasonable warning.

67fbf3a3ef8443 Andrzej Hajda 2018-10-12 146 priv->mapping = mapping;
237556962e5115 Andrzej Hajda 2018-10-12 147 }
237556962e5115 Andrzej Hajda 2018-10-12 148
07dc3678bacc2a Marek Szyprowski 2020-03-09 149 return drm_iommu_attach_device(drm, dev, dma_priv);
237556962e5115 Andrzej Hajda 2018-10-12 150 }

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

Attachment: .config.gz
Description: application/gzip