crypto: tegra - Fix format specifier in tegra_sha_prep_cmd()
authorNathan Chancellor <nathan@kernel.org>
Thu, 13 Mar 2025 15:29:31 +0000 (16:29 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Mar 2025 09:33:38 +0000 (17:33 +0800)
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>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/tegra/tegra-se-hash.c

index 65a50f29bd7e6d96793985ed07115948dc450d09..42d007b7af45dca78c974f82a202114e344841b1 100644 (file)
@@ -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;