Re: [PATCH net-next] s390: ism: Pass string literal as format argument of dev_set_name()

Heiko Carstens
2025-04-17T11:08:28Z

On Thu, Apr 17, 2025 at 11:28:23AM +0100, Simon Horman wrote:
> GCC 14.2.0 reports that passing a non-string literal as the
> format argument of dev_set_name() is potentially insecure.
>
> drivers/s390/net/ism_drv.c: In function 'ism_probe':
> drivers/s390/net/ism_drv.c:615:2: warning: format not a string literal and no format arguments [-Wformat-security]
> 615 | dev_set_name(&ism->dev, dev_name(&pdev->dev));
> | ^~~~~~~~~~~~
>
> It seems to me that as pdev is a PCIE device then the dev_name
> call above should always return the device's BDF, e.g. 00:12.0.
> That this should not contain format escape sequences. And thus
> the current usage is safe.
>
> But, it seems better to be safe than sorry. And, as a bonus, compiler
> output becomes less verbose by addressing this issue.
>
> Compile tested only.
> No functional change intended.
>
> Signed-off-by: Simon Horman <horms@kernel.org>
> ---
> drivers/s390/net/ism_drv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

It might make sense to say that -Wformat-security was explicitly enabled in
order to trigger this (probably with KCFLAGS=-Wformat-security ?), since this
warning is by default disabled.

Just mentioning this, since I was wondering why I haven't seen this.