Jani Nikula
2024-May-23 15:51 UTC
[PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
Enabling -Wformat-truncation yields the following warning:
../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: error: ?%d? directive output
may be truncated writing between 1 and 10 bytes into a region of size between 0
and 8 [-Werror=format-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);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Silence the warning by checking the snprintf() return value.
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: "Christian K?nig" <christian.koenig at amd.com>
Cc: Pan Xinhui <Xinhui.Pan at amd.com>
Cc: amd-gfx at lists.freedesktop.org
Cc: dri-devel at lists.freedesktop.org
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index 1d955652f3ba..92744d0d2c10 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -329,8 +329,10 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
int xcc_id)
ring->eop_gpu_addr = kiq->eop_gpu_addr;
ring->no_scheduler = true;
- snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
- xcc_id, ring->me, ring->pipe, ring->queue);
+ r = snprintf(ring->name, sizeof(ring->name),
"kiq_%d.%d.%d.%d",
+ xcc_id, ring->me, ring->pipe, ring->queue);
+ if (r >= sizeof(ring->name))
+ dev_warn(adev->dev, "kiq ring name truncated\n");
r = amdgpu_ring_init(adev, ring, 1024, irq, AMDGPU_CP_KIQ_IRQ_DRIVER0,
AMDGPU_RING_PRIO_DEFAULT, NULL);
if (r)
--
2.39.2
Alex Deucher
2024-May-23 18:07 UTC
[PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
On Thu, May 23, 2024 at 11:51?AM Jani Nikula <jani.nikula at intel.com> wrote:> > Enabling -Wformat-truncation yields the following warning: > > ../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: error: ?%d? directive output may be truncated writing between 1 and 10 bytes into a region of size between 0 and 8 [-Werror=format-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); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Silence the warning by checking the snprintf() return value. >Already fixed with this patch: https://patchwork.freedesktop.org/patch/594864/ Thanks, Alex> Signed-off-by: Jani Nikula <jani.nikula at intel.com> > > --- > > Cc: Alex Deucher <alexander.deucher at amd.com> > Cc: "Christian K?nig" <christian.koenig at amd.com> > Cc: Pan Xinhui <Xinhui.Pan at amd.com> > Cc: amd-gfx at lists.freedesktop.org > Cc: dri-devel at lists.freedesktop.org > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > index 1d955652f3ba..92744d0d2c10 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > @@ -329,8 +329,10 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev, int xcc_id) > > ring->eop_gpu_addr = kiq->eop_gpu_addr; > ring->no_scheduler = true; > - snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > - xcc_id, ring->me, ring->pipe, ring->queue); > + r = snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d", > + xcc_id, ring->me, ring->pipe, ring->queue); > + if (r >= sizeof(ring->name)) > + dev_warn(adev->dev, "kiq ring name truncated\n"); > r = amdgpu_ring_init(adev, ring, 1024, irq, AMDGPU_CP_KIQ_IRQ_DRIVER0, > AMDGPU_RING_PRIO_DEFAULT, NULL); > if (r) > -- > 2.39.2 >
Apparently Analagous Threads
- [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
- [PATCH 0/4] drm: enable -Wformat-truncation
- [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem
- [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem
- [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()