[PATCH 5/9] accel/neutron: Add GEM buffer object support
kernel test robot
lkp at intel.com
Thu Feb 26 13:15:49 PST 2026
Hi Ioana,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f]
url: https://github.com/intel-lab-lkp/linux/commits/Ioana-Ciocoi-Radulescu/drm-gem-dma-Add-flag-for-bidirectional-mapping-of-non-coherent-GEM-DMA-buffers/20260226-221222
base: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
patch link: https://lore.kernel.org/r/20260226-neutron-v1-5-46eccb3bb50a%40nxp.com
patch subject: [PATCH 5/9] accel/neutron: Add GEM buffer object support
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20260227/202602270531.MP8x6wo3-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260227/202602270531.MP8x6wo3-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602270531.MP8x6wo3-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/accel/neutron/neutron_gem.c:52:6: warning: variable 'gem_obj' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
52 | if (drm_WARN_ON(drm, !IS_ALIGNED(dma_obj->dma_addr, NEUTRON_BO_ALIGN))) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/drm/drm_print.h:789:2: note: expanded from macro 'drm_WARN_ON'
789 | drm_WARN((drm), (x), "%s", \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
790 | "drm_WARN_ON(" __stringify(x) ")")
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/drm/drm_print.h:779:2: note: expanded from macro 'drm_WARN'
779 | WARN(condition, "%s %s: [drm] " format, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
780 | dev_driver_string(__drm_to_dev(drm)), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
781 | dev_name(__drm_to_dev(drm)), ## arg)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:163:36: note: expanded from macro 'WARN'
163 | #define WARN(condition, format...) ({ \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
164 | int __ret_warn_on = !!(condition); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
165 | if (unlikely(__ret_warn_on)) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
166 | __WARN_printf(TAINT_WARN, format); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167 | unlikely(__ret_warn_on); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168 | })
| ~~
drivers/accel/neutron/neutron_gem.c:67:21: note: uninitialized use occurs here
67 | drm_gem_object_put(gem_obj);
| ^~~~~~~
drivers/accel/neutron/neutron_gem.c:52:2: note: remove the 'if' if its condition is always false
52 | if (drm_WARN_ON(drm, !IS_ALIGNED(dma_obj->dma_addr, NEUTRON_BO_ALIGN))) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 | ret = -EFAULT;
| ~~~~~~~~~~~~~~
54 | goto out_put;
| ~~~~~~~~~~~~~
55 | }
| ~
drivers/accel/neutron/neutron_gem.c:38:32: note: initialize the variable 'gem_obj' to silence this warning
38 | struct drm_gem_object *gem_obj;
| ^
| = NULL
1 warning generated.
vim +52 drivers/accel/neutron/neutron_gem.c
33
34 int neutron_ioctl_create_bo(struct drm_device *drm, void *data, struct drm_file *filp)
35 {
36 struct drm_neutron_create_bo *args = data;
37 struct drm_gem_dma_object *dma_obj;
38 struct drm_gem_object *gem_obj;
39 size_t size;
40 int ret;
41
42 if (!args->size || args->pad)
43 return -EINVAL;
44
45 size = ALIGN(args->size, NEUTRON_BO_ALIGN);
46
47 dma_obj = drm_gem_dma_create(drm, size);
48 if (IS_ERR(dma_obj))
49 return PTR_ERR(dma_obj);
50
51 /* We expect correctly aligned buffers, but double-check */
> 52 if (drm_WARN_ON(drm, !IS_ALIGNED(dma_obj->dma_addr, NEUTRON_BO_ALIGN))) {
53 ret = -EFAULT;
54 goto out_put;
55 }
56
57 gem_obj = &dma_obj->base;
58 ret = drm_gem_handle_create(filp, gem_obj, &args->handle);
59 if (ret)
60 goto out_put;
61
62 args->map_offset = drm_vma_node_offset_addr(&gem_obj->vma_node);
63 args->size = gem_obj->size;
64
65 out_put:
66 /* No need to keep a reference of the GEM object. Freeing is handled by user */
67 drm_gem_object_put(gem_obj);
68
69 return ret;
70 }
71
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the linux-arm-kernel
mailing list