Hi Thomas, I love your patch! Perhaps something to improve: [auto build test WARNING on next-20200914] [also build test WARNING on v5.9-rc5] [cannot apply to linuxtv-media/master drm-intel/for-linux-next tegra/for-next linus/master v5.9-rc5 v5.9-rc4 v5.9-rc3] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/dma-buf-Flag-vmap-ed-memory-as-system-or-I-O-memory/20200914-192712 base: f965d3ec86fa89285db0fbb983da76ba9c398efa config: arm-randconfig-r002-20200914 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project b2c32c90bab09a6e2c1f370429db26017a182143) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/gpu/drm/drm_gem_cma_helper.c:179:50: warning: variable 'cma_obj' is uninitialized when used here [-Wuninitialized] struct dma_buf_map map = DMA_BUF_MAP_INIT_VADDR(cma_obj->vaddr); ^~~~~~~ include/linux/dma-buf-map.h:37:13: note: expanded from macro 'DMA_BUF_MAP_INIT_VADDR' .vaddr = (vaddr_), \ ^~~~~~ drivers/gpu/drm/drm_gem_cma_helper.c:178:36: note: initialize the variable 'cma_obj' to silence this warning struct drm_gem_cma_object *cma_obj; ^ = NULL 1 warning generated. # https://github.com/0day-ci/linux/commit/7fd403952126005980734501c5d0de5e13b3673b git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Zimmermann/dma-buf-Flag-vmap-ed-memory-as-system-or-I-O-memory/20200914-192712 git checkout 7fd403952126005980734501c5d0de5e13b3673b vim +/cma_obj +179 drivers/gpu/drm/drm_gem_cma_helper.c 165 166 /** 167 * drm_gem_cma_free_object - free resources associated with a CMA GEM object 168 * @gem_obj: GEM object to free 169 * 170 * This function frees the backing memory of the CMA GEM object, cleans up the 171 * GEM object state and frees the memory used to store the object itself. 172 * If the buffer is imported and the virtual address is set, it is released. 173 * Drivers using the CMA helpers should set this as their 174 * &drm_driver.gem_free_object_unlocked callback. 175 */ 176 void drm_gem_cma_free_object(struct drm_gem_object *gem_obj) 177 { 178 struct drm_gem_cma_object *cma_obj; > 179 struct dma_buf_map map = DMA_BUF_MAP_INIT_VADDR(cma_obj->vaddr); 180 181 cma_obj = to_drm_gem_cma_obj(gem_obj); 182 183 if (gem_obj->import_attach) { 184 if (cma_obj->vaddr) 185 dma_buf_vunmap(gem_obj->import_attach->dmabuf, &map); 186 drm_prime_gem_destroy(gem_obj, cma_obj->sgt); 187 } else if (cma_obj->vaddr) { 188 dma_free_wc(gem_obj->dev->dev, cma_obj->base.size, 189 cma_obj->vaddr, cma_obj->paddr); 190 } 191 192 drm_gem_object_release(gem_obj); 193 194 kfree(cma_obj); 195 } 196 EXPORT_SYMBOL_GPL(drm_gem_cma_free_object); 197 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org