* [PATCH 0/4] drm: enable -Wformat-truncation
@ 2024-05-23 15:51 Jani Nikula
2024-05-23 15:51 ` [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() Jani Nikula
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Jani Nikula @ 2024-05-23 15:51 UTC (permalink / raw)
To: dri-devel, imx, nouveau, amd-gfx; +Cc: jani.nikula
Jani Nikula (4):
drm/amdgpu: fix -Wformat-truncation warning in
amdgpu_gfx_kiq_init_ring()
drm/nouveau: fix -Wformat-truncation warning in
nouveau_backlight_init()
drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
drm: enable -Wformat-truncation across the subsystem
drivers/gpu/drm/Makefile | 3 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 6 ++++--
drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++-
drivers/gpu/drm/nouveau/nouveau_backlight.c | 9 +++++++--
4 files changed, 17 insertions(+), 7 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
2024-05-23 15:51 [PATCH 0/4] drm: enable -Wformat-truncation Jani Nikula
@ 2024-05-23 15:51 ` Jani Nikula
2024-05-23 18:07 ` Alex Deucher
2024-05-23 15:51 ` [PATCH 2/4] drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init() Jani Nikula
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2024-05-23 15:51 UTC (permalink / raw)
To: dri-devel, imx, nouveau, amd-gfx
Cc: jani.nikula, Alex Deucher, Christian König, Pan Xinhui
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@intel.com>
---
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Pan Xinhui <Xinhui.Pan@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/4] drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init()
2024-05-23 15:51 [PATCH 0/4] drm: enable -Wformat-truncation Jani Nikula
2024-05-23 15:51 ` [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() Jani Nikula
@ 2024-05-23 15:51 ` Jani Nikula
2024-05-23 15:51 ` [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe() Jani Nikula
2024-05-23 15:51 ` [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem Jani Nikula
3 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2024-05-23 15:51 UTC (permalink / raw)
To: dri-devel, imx, nouveau, amd-gfx
Cc: jani.nikula, Karol Herbst, Lyude Paul, Danilo Krummrich
Enabling -Wformat-truncation yields the following warning:
../drivers/gpu/drm/nouveau/nouveau_backlight.c: In function ‘nouveau_backlight_init’:
../drivers/gpu/drm/nouveau/nouveau_backlight.c:56:69: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 3 [-Werror=format-truncation=]
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~
In function ‘nouveau_get_backlight_name’,
inlined from ‘nouveau_backlight_init’ at ../drivers/gpu/drm/nouveau/nouveau_backlight.c:351:7:
../drivers/gpu/drm/nouveau/nouveau_backlight.c:56:56: note: directive argument in the range [1, 2147483647]
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~~~~~~~~~~~~~~~
../drivers/gpu/drm/nouveau/nouveau_backlight.c:56:17: note: ‘snprintf’ output between 14 and 23 bytes into a destination of size 15
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Silence the warning by checking the snprintf() return value.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
---
drivers/gpu/drm/nouveau/nouveau_backlight.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
index d47442125fa1..1d77a5f280c5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
+++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
@@ -49,13 +49,18 @@ nouveau_get_backlight_name(char backlight_name[BL_NAME_SIZE],
struct nouveau_backlight *bl)
{
const int nb = ida_alloc_max(&bl_ida, 99, GFP_KERNEL);
+ int ret;
if (nb < 0)
return false;
if (nb > 0)
- snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
+ ret = snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
else
- snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight");
+ ret = snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight");
+
+ if (ret >= BL_NAME_SIZE)
+ return false;
+
bl->id = nb;
return true;
}
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
2024-05-23 15:51 [PATCH 0/4] drm: enable -Wformat-truncation Jani Nikula
2024-05-23 15:51 ` [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() Jani Nikula
2024-05-23 15:51 ` [PATCH 2/4] drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init() Jani Nikula
@ 2024-05-23 15:51 ` Jani Nikula
2024-05-23 17:32 ` Ville Syrjälä
2024-05-23 15:51 ` [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem Jani Nikula
3 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2024-05-23 15:51 UTC (permalink / raw)
To: dri-devel, imx, nouveau, amd-gfx
Cc: jani.nikula, Philipp Zabel, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam
Enabling -Wformat-truncation yields the following warning:
../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ‘imx_ldb_probe’:
../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:57: error: ‘_sel’ directive output may be truncated writing 4 bytes into a region of size between 3 and 13 [-Werror=format-truncation=]
658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
| ^~~~
../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:17: note: ‘snprintf’ output between 8 and 18 bytes into a destination of size 16
658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Silence the warning by checking the snprintf() return value.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
---
drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
index 71d70194fcbd..46f779fe60ee 100644
--- a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
+++ b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
@@ -654,8 +654,12 @@ static int imx_ldb_probe(struct platform_device *pdev)
*/
for (i = 0; i < 4; i++) {
char clkname[16];
+ int len;
+
+ len = snprintf(clkname, sizeof(clkname), "di%d_sel", i);
+ if (len >= sizeof(clkname))
+ dev_err(dev, "clkname truncated\n");
- snprintf(clkname, sizeof(clkname), "di%d_sel", i);
imx_ldb->clk_sel[i] = devm_clk_get(imx_ldb->dev, clkname);
if (IS_ERR(imx_ldb->clk_sel[i])) {
ret = PTR_ERR(imx_ldb->clk_sel[i]);
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem
2024-05-23 15:51 [PATCH 0/4] drm: enable -Wformat-truncation Jani Nikula
` (2 preceding siblings ...)
2024-05-23 15:51 ` [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe() Jani Nikula
@ 2024-05-23 15:51 ` Jani Nikula
2024-05-23 18:41 ` Sam Ravnborg
3 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2024-05-23 15:51 UTC (permalink / raw)
To: dri-devel, imx, nouveau, amd-gfx; +Cc: jani.nikula
With the -Wformat-truncation warnings fixed, finish the job started in
commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default across
the subsystem"), and enable that warning too.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Gut feeling says there are more issues, and my configs just don't catch
them all, but let's see what the build bots have to say. ;)
---
drivers/gpu/drm/Makefile | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 68cc9258ffc4..644613dbedda 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -16,8 +16,7 @@ subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
-# FIXME: fix -Wformat-truncation warnings and uncomment
-#subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
+subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
# The following turn off the warnings enabled by -Wextra
ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
2024-05-23 15:51 ` [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe() Jani Nikula
@ 2024-05-23 17:32 ` Ville Syrjälä
2024-05-24 9:04 ` Jani Nikula
0 siblings, 1 reply; 11+ messages in thread
From: Ville Syrjälä @ 2024-05-23 17:32 UTC (permalink / raw)
To: Jani Nikula
Cc: dri-devel, imx, nouveau, amd-gfx, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Thu, May 23, 2024 at 06:51:08PM +0300, Jani Nikula wrote:
> Enabling -Wformat-truncation yields the following warning:
>
> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ‘imx_ldb_probe’:
> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:57: error: ‘_sel’ directive output may be truncated writing 4 bytes into a region of size between 3 and 13 [-Werror=format-truncation=]
> 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
> | ^~~~
> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:17: note: ‘snprintf’ output between 8 and 18 bytes into a destination of size 16
> 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If only the compiler could count to three...
>
> Silence the warning by checking the snprintf() return value.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> ---
>
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> ---
> drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
> index 71d70194fcbd..46f779fe60ee 100644
> --- a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
> +++ b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
> @@ -654,8 +654,12 @@ static int imx_ldb_probe(struct platform_device *pdev)
> */
> for (i = 0; i < 4; i++) {
> char clkname[16];
> + int len;
> +
> + len = snprintf(clkname, sizeof(clkname), "di%d_sel", i);
> + if (len >= sizeof(clkname))
> + dev_err(dev, "clkname truncated\n");
>
> - snprintf(clkname, sizeof(clkname), "di%d_sel", i);
> imx_ldb->clk_sel[i] = devm_clk_get(imx_ldb->dev, clkname);
> if (IS_ERR(imx_ldb->clk_sel[i])) {
> ret = PTR_ERR(imx_ldb->clk_sel[i]);
> --
> 2.39.2
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
2024-05-23 15:51 ` [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() Jani Nikula
@ 2024-05-23 18:07 ` Alex Deucher
2024-05-24 9:07 ` Jani Nikula
0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2024-05-23 18:07 UTC (permalink / raw)
To: Jani Nikula
Cc: dri-devel, imx, nouveau, amd-gfx, Alex Deucher,
Christian König, Pan Xinhui
On Thu, May 23, 2024 at 11:51 AM Jani Nikula <jani.nikula@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@intel.com>
>
> ---
>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: Pan Xinhui <Xinhui.Pan@amd.com>
> Cc: amd-gfx@lists.freedesktop.org
> Cc: dri-devel@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
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem
2024-05-23 15:51 ` [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem Jani Nikula
@ 2024-05-23 18:41 ` Sam Ravnborg
2024-05-24 9:08 ` Jani Nikula
0 siblings, 1 reply; 11+ messages in thread
From: Sam Ravnborg @ 2024-05-23 18:41 UTC (permalink / raw)
To: Jani Nikula; +Cc: dri-devel, imx, nouveau, amd-gfx
Hi Jani,
On Thu, May 23, 2024 at 06:51:09PM +0300, Jani Nikula wrote:
> With the -Wformat-truncation warnings fixed, finish the job started in
> commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default across
> the subsystem"), and enable that warning too.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
When it is enabled for all of drm then the explicit assignments here
could be dropped I think:
drivers/gpu/drm/i915/Makefile:subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
drivers/gpu/drm/xe/Makefile:subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
Just a drive-by comment, I know this patch was mostly for the bots.
Sam
>
> ---
>
> Gut feeling says there are more issues, and my configs just don't catch
> them all, but let's see what the build bots have to say. ;)
> ---
> drivers/gpu/drm/Makefile | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 68cc9258ffc4..644613dbedda 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -16,8 +16,7 @@ subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
> subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
> subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
> subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
> -# FIXME: fix -Wformat-truncation warnings and uncomment
> -#subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
> +subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
> subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
> # The following turn off the warnings enabled by -Wextra
> ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
> --
> 2.39.2
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()
2024-05-23 17:32 ` Ville Syrjälä
@ 2024-05-24 9:04 ` Jani Nikula
0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2024-05-24 9:04 UTC (permalink / raw)
To: Ville Syrjälä
Cc: dri-devel, imx, nouveau, amd-gfx, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Thu, 23 May 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, May 23, 2024 at 06:51:08PM +0300, Jani Nikula wrote:
>> Enabling -Wformat-truncation yields the following warning:
>>
>> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ‘imx_ldb_probe’:
>> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:57: error: ‘_sel’ directive output may be truncated writing 4 bytes into a region of size between 3 and 13 [-Werror=format-truncation=]
>> 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
>> | ^~~~
>> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c:658:17: note: ‘snprintf’ output between 8 and 18 bytes into a destination of size 16
>> 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i);
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> If only the compiler could count to three...
I did not try, but apparently using %hhd would hide the issue too:
snprintf(clkname, sizeof(clkname), "di%hhd_sel", i);
BR,
Jani.
>
>>
>> Silence the warning by checking the snprintf() return value.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>
>> ---
>>
>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
>> Cc: Shawn Guo <shawnguo@kernel.org>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>> Cc: Fabio Estevam <festevam@gmail.com>
>> Cc: dri-devel@lists.freedesktop.org
>> Cc: imx@lists.linux.dev
>> ---
>> drivers/gpu/drm/imx/ipuv3/imx-ldb.c | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
>> index 71d70194fcbd..46f779fe60ee 100644
>> --- a/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
>> +++ b/drivers/gpu/drm/imx/ipuv3/imx-ldb.c
>> @@ -654,8 +654,12 @@ static int imx_ldb_probe(struct platform_device *pdev)
>> */
>> for (i = 0; i < 4; i++) {
>> char clkname[16];
>> + int len;
>> +
>> + len = snprintf(clkname, sizeof(clkname), "di%d_sel", i);
>> + if (len >= sizeof(clkname))
>> + dev_err(dev, "clkname truncated\n");
>>
>> - snprintf(clkname, sizeof(clkname), "di%d_sel", i);
>> imx_ldb->clk_sel[i] = devm_clk_get(imx_ldb->dev, clkname);
>> if (IS_ERR(imx_ldb->clk_sel[i])) {
>> ret = PTR_ERR(imx_ldb->clk_sel[i]);
>> --
>> 2.39.2
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()
2024-05-23 18:07 ` Alex Deucher
@ 2024-05-24 9:07 ` Jani Nikula
0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2024-05-24 9:07 UTC (permalink / raw)
To: Alex Deucher
Cc: dri-devel, imx, nouveau, amd-gfx, Alex Deucher,
Christian König, Pan Xinhui
On Thu, 23 May 2024, Alex Deucher <alexdeucher@gmail.com> wrote:
> Already fixed with this patch:
> https://patchwork.freedesktop.org/patch/594864/
Great, thanks!
BR,
Jani.
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem
2024-05-23 18:41 ` Sam Ravnborg
@ 2024-05-24 9:08 ` Jani Nikula
0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2024-05-24 9:08 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: dri-devel, imx, nouveau, amd-gfx
On Thu, 23 May 2024, Sam Ravnborg <sam@ravnborg.org> wrote:
> Hi Jani,
>
> On Thu, May 23, 2024 at 06:51:09PM +0300, Jani Nikula wrote:
>> With the -Wformat-truncation warnings fixed, finish the job started in
>> commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default across
>> the subsystem"), and enable that warning too.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> When it is enabled for all of drm then the explicit assignments here
> could be dropped I think:
>
> drivers/gpu/drm/i915/Makefile:subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
> drivers/gpu/drm/xe/Makefile:subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
>
> Just a drive-by comment, I know this patch was mostly for the bots.
Additionally, I didn't want to create any conflicts with [1]. There's no
harm in having the duplication.
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1716471145.git.jani.nikula@intel.com
>
> Sam
>
>>
>> ---
>>
>> Gut feeling says there are more issues, and my configs just don't catch
>> them all, but let's see what the build bots have to say. ;)
>> ---
>> drivers/gpu/drm/Makefile | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
>> index 68cc9258ffc4..644613dbedda 100644
>> --- a/drivers/gpu/drm/Makefile
>> +++ b/drivers/gpu/drm/Makefile
>> @@ -16,8 +16,7 @@ subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
>> subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
>> subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
>> subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
>> -# FIXME: fix -Wformat-truncation warnings and uncomment
>> -#subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
>> +subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
>> subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
>> # The following turn off the warnings enabled by -Wextra
>> ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
>> --
>> 2.39.2
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-05-24 9:08 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-23 15:51 [PATCH 0/4] drm: enable -Wformat-truncation Jani Nikula
2024-05-23 15:51 ` [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() Jani Nikula
2024-05-23 18:07 ` Alex Deucher
2024-05-24 9:07 ` Jani Nikula
2024-05-23 15:51 ` [PATCH 2/4] drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init() Jani Nikula
2024-05-23 15:51 ` [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe() Jani Nikula
2024-05-23 17:32 ` Ville Syrjälä
2024-05-24 9:04 ` Jani Nikula
2024-05-23 15:51 ` [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem Jani Nikula
2024-05-23 18:41 ` Sam Ravnborg
2024-05-24 9:08 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).