Message ID | 20240514-mpi3mr-fix-wformat-v1-1-f1ad49217e5e@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add() | expand |
Nathan, > When building for a 32-bit platform such as ARM or i386, for which > size_t is unsigned int, there is a warning due to using an unsigned > long format specifier: Applied to 6.10/scsi-staging, thanks!
On Wed, 15 May 2024 06:42:12 PDT (-0700), martin.petersen@oracle.com wrote: > > Nathan, > >> When building for a 32-bit platform such as ARM or i386, for which >> size_t is unsigned int, there is a warning due to using an unsigned >> long format specifier: > > Applied to 6.10/scsi-staging, thanks! This fixes rv32 as well, so Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com> (don't worry about up the review, it's mostly here so I can find it again if I forget) Thanks!
On Tue, 14 May 2024 13:47:23 -0700, Nathan Chancellor wrote: > When building for a 32-bit platform such as ARM or i386, for which > size_t is unsigned int, there is a warning due to using an unsigned long > format specifier: > > drivers/scsi/mpi3mr/mpi3mr_transport.c:1370:11: error: format specifies type 'unsigned long' but the argument has type 'unsigned int' [-Werror,-Wformat] > 1369 | ioc_warn(mrioc, "skipping port %u, max allowed value is %lu\n", > | ~~~ > | %u > 1370 | i, sizeof(mr_sas_port->phy_mask) * 8); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > [...] Applied to 6.10/scsi-queue, thanks! [1/1] scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add() https://git.kernel.org/mkp/scsi/c/9f365cb8bbd0
diff --git a/drivers/scsi/mpi3mr/mpi3mr_transport.c b/drivers/scsi/mpi3mr/mpi3mr_transport.c index 7ca9a7c2709c..5d261c2f2d20 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_transport.c +++ b/drivers/scsi/mpi3mr/mpi3mr_transport.c @@ -1366,7 +1366,7 @@ static struct mpi3mr_sas_port *mpi3mr_sas_port_add(struct mpi3mr_ioc *mrioc, continue; if (i > sizeof(mr_sas_port->phy_mask) * 8) { - ioc_warn(mrioc, "skipping port %u, max allowed value is %lu\n", + ioc_warn(mrioc, "skipping port %u, max allowed value is %zu\n", i, sizeof(mr_sas_port->phy_mask) * 8); goto out_fail; }
When building for a 32-bit platform such as ARM or i386, for which size_t is unsigned int, there is a warning due to using an unsigned long format specifier: drivers/scsi/mpi3mr/mpi3mr_transport.c:1370:11: error: format specifies type 'unsigned long' but the argument has type 'unsigned int' [-Werror,-Wformat] 1369 | ioc_warn(mrioc, "skipping port %u, max allowed value is %lu\n", | ~~~ | %u 1370 | i, sizeof(mr_sas_port->phy_mask) * 8); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Use the proper format specifier for size_t, %zu, to resolve the warning for all platforms. Fixes: 3668651def2c ("scsi: mpi3mr: Sanitise num_phys") Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- drivers/scsi/mpi3mr/mpi3mr_transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 3668651def2c1622904e58b0280ee93121f2b10b change-id: 20240514-mpi3mr-fix-wformat-8d81db9873e3 Best regards,