On Fri, 12 Jan 2024, kernel test robot <lkp@xxxxxxxxx> wrote: > Hi Jani, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on drm-misc/drm-misc-next] > [also build test WARNING on drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.7 next-20240111] > [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#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-nouveau-acr-ga102-remove-unused-but-set-variable/20240111-014206 > base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next > patch link: https://lore.kernel.org/r/fea7a52924f98b1ac24f4a7e6ba21d7754422430.1704908087.git.jani.nikula%40intel.com > patch subject: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf > config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20240112/202401121126.i9VGrvMb-lkp@xxxxxxxxx/config) > compiler: sparc64-linux-gcc (GCC) 13.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240112/202401121126.i9VGrvMb-lkp@xxxxxxxxx/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@xxxxxxxxx> > | Closes: https://lore.kernel.org/oe-kbuild-all/202401121126.i9VGrvMb-lkp@xxxxxxxxx/ > > All warnings (new ones prefixed by >>): > > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c: In function 'amdgpu_gfx_kiq_init_ring': >>> drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:61: warning: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size between 0 and 8 [-Wformat-truncation=] > 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > | ^~ > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:50: note: directive argument in the range [0, 2147483647] > 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > | ^~~~~~~~~~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:9: note: 'snprintf' output between 12 and 41 bytes into a destination of size 16 > 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 333 | xcc_id, ring->me, ring->pipe, ring->queue); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As the commit message says, This will trade the W=1 warning -Wformat-overflow to -Wformat-truncation. This lets us enable -Wformat-overflow subsystem wide. BR, Jani. > > > vim +332 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > > 306 > 307 int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev, > 308 struct amdgpu_ring *ring, > 309 struct amdgpu_irq_src *irq, int xcc_id) > 310 { > 311 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; > 312 int r = 0; > 313 > 314 spin_lock_init(&kiq->ring_lock); > 315 > 316 ring->adev = NULL; > 317 ring->ring_obj = NULL; > 318 ring->use_doorbell = true; > 319 ring->xcc_id = xcc_id; > 320 ring->vm_hub = AMDGPU_GFXHUB(xcc_id); > 321 ring->doorbell_index = > 322 (adev->doorbell_index.kiq + > 323 xcc_id * adev->doorbell_index.xcc_doorbell_range) > 324 << 1; > 325 > 326 r = amdgpu_gfx_kiq_acquire(adev, ring, xcc_id); > 327 if (r) > 328 return r; > 329 > 330 ring->eop_gpu_addr = kiq->eop_gpu_addr; > 331 ring->no_scheduler = true; > > 332 snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > 333 xcc_id, ring->me, ring->pipe, ring->queue); > 334 r = amdgpu_ring_init(adev, ring, 1024, irq, AMDGPU_CP_KIQ_IRQ_DRIVER0, > 335 AMDGPU_RING_PRIO_DEFAULT, NULL); > 336 if (r) > 337 dev_warn(adev->dev, "(%d) failed to init kiq ring\n", r); > 338 > 339 return r; > 340 } > 341 -- Jani Nikula, Intel