Message ID | 20250313-crypto-tegra-fix-format-specifier-for-size_t-v1-1-0b957726c9e5@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: tegra - Fix format specifier in tegra_sha_prep_cmd() | expand |
On Thu, Mar 13, 2025 at 04:29:31PM +0100, Nathan Chancellor wrote: > When building for 32-bit targets, for which ssize_t is 'int' instead of > 'long', there is a warning due to an incorrect format specifier: > > In file included from include/linux/printk.h:610, > from include/linux/kernel.h:31, > from include/linux/clk.h:13, > from drivers/crypto/tegra/tegra-se-hash.c:7: > drivers/crypto/tegra/tegra-se-hash.c: In function 'tegra_sha_prep_cmd': > drivers/crypto/tegra/tegra-se-hash.c:343:26: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Werror=format=] > 343 | dev_dbg(se->dev, "msg len %llu msg left %llu sz %lu cfg %#x", > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ... > drivers/crypto/tegra/tegra-se-hash.c:343:59: note: format string is defined here > 343 | dev_dbg(se->dev, "msg len %llu msg left %llu sz %lu cfg %#x", > | ~~^ > | | > | long unsigned int > | %u > cc1: all warnings being treated as errors > > Use '%zd', the proper specifier for ssize_t, to resolve the warning. > > Fixes: ff4b7df0b511 ("crypto: tegra - Fix HASH intermediate result handling") > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > --- > drivers/crypto/tegra/tegra-se-hash.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Patch applied. Thanks.
diff --git a/drivers/crypto/tegra/tegra-se-hash.c b/drivers/crypto/tegra/tegra-se-hash.c index 65a50f29bd7e..42d007b7af45 100644 --- a/drivers/crypto/tegra/tegra-se-hash.c +++ b/drivers/crypto/tegra/tegra-se-hash.c @@ -340,7 +340,7 @@ static int tegra_sha_prep_cmd(struct tegra_sha_ctx *ctx, u32 *cpuvaddr, cpuvaddr[i++] = host1x_uclass_incr_syncpt_cond_f(1) | host1x_uclass_incr_syncpt_indx_f(se->syncpt_id); - dev_dbg(se->dev, "msg len %llu msg left %llu sz %lu cfg %#x", + dev_dbg(se->dev, "msg len %llu msg left %llu sz %zd cfg %#x", msg_len, msg_left, rctx->datbuf.size, rctx->config); return i;
When building for 32-bit targets, for which ssize_t is 'int' instead of 'long', there is a warning due to an incorrect format specifier: In file included from include/linux/printk.h:610, from include/linux/kernel.h:31, from include/linux/clk.h:13, from drivers/crypto/tegra/tegra-se-hash.c:7: drivers/crypto/tegra/tegra-se-hash.c: In function 'tegra_sha_prep_cmd': drivers/crypto/tegra/tegra-se-hash.c:343:26: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Werror=format=] 343 | dev_dbg(se->dev, "msg len %llu msg left %llu sz %lu cfg %#x", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... drivers/crypto/tegra/tegra-se-hash.c:343:59: note: format string is defined here 343 | dev_dbg(se->dev, "msg len %llu msg left %llu sz %lu cfg %#x", | ~~^ | | | long unsigned int | %u cc1: all warnings being treated as errors Use '%zd', the proper specifier for ssize_t, to resolve the warning. Fixes: ff4b7df0b511 ("crypto: tegra - Fix HASH intermediate result handling") Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- drivers/crypto/tegra/tegra-se-hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: eca6828403b80343647de39d4782ee56cc9e36dd change-id: 20250313-crypto-tegra-fix-format-specifier-for-size_t-219aa89ad470 Best regards,