drivers/gpu/drm/exynos/exynos_drm_dma.c:146:19: warning: variable 'mapping' is uninitialized when used here

From: kernel test robot
Date: Sat Oct 03 2020 - 13:31:40 EST


Hi Robin,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d3d45f8220d60a0b2aaaacf8fb2be4e6ffd9008e
commit: b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248 iommu: Tidy up Kconfig for SoC IOMMUs
date: 3 months ago
config: x86_64-randconfig-a011-20201004 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bcd05599d0e53977a963799d6ee4f6e0bc21331b)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b4ceb4a5359ed1c9ba4a20acf3a70d4bbead3248
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

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

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/exynos/exynos_drm_dma.c:146:19: warning: variable 'mapping' is uninitialized when used here [-Wuninitialized]
priv->mapping = mapping;
^~~~~~~
drivers/gpu/drm/exynos/exynos_drm_dma.c:136:16: note: initialize the variable 'mapping' to silence this warning
void *mapping;
^
= NULL
1 warning generated.

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

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

:::::: The code at line 146 was first introduced by commit
:::::: 67fbf3a3ef84436c58b5ead53b4b866125ad7ce9 drm/exynos/iommu: merge IOMMU and DMA code

:::::: TO: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
:::::: CC: Inki Dae <inki.dae@xxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip