Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1662277 > unrolled thread

[PATCH] scsi: qla2xxx: fix printk format string warning on 32-bit

Started byArnd Bergmann <arnd@arndb.de>
First post2017-06-09 12:50 +0200
Last post2017-06-09 16:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] scsi: qla2xxx: fix printk format string warning on 32-bit Arnd Bergmann <arnd@arndb.de> - 2017-06-09 12:50 +0200
    Re: [PATCH] scsi: qla2xxx: fix printk format string warning on 32-bit "Madhani, Himanshu" <Himanshu.Madhani@cavium.com> - 2017-06-09 16:10 +0200

#1662277 — [PATCH] scsi: qla2xxx: fix printk format string warning on 32-bit

FromArnd Bergmann <arnd@arndb.de>
Date2017-06-09 12:50 +0200
Subject[PATCH] scsi: qla2xxx: fix printk format string warning on 32-bit
Message-ID<tQpEl-qv-11@gated-at.bofh.it>
On 32-bit architectures, we using %lx to print a size_t causes a harmless
warning:

qla2xxx/qla_init.c: In function 'qla24xx_load_risc_flash':
qla2xxx/qla_init.c:6407:7: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
qla2xxx/qla_init.c: In function 'qla24xx_load_risc_blob':
qla2xxx/qla_init.c:6709:7: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]

The correct format string is %zx.

Fixes: 0f110b54d157 ("scsi: qla2xxx: Retain loop test for fwdump length exceeding buffer length")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/scsi/qla2xxx/qla_init.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 436968ad4484..730e7fe4344a 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -6404,7 +6404,7 @@ qla24xx_load_risc_flash(scsi_qla_host_t *vha, uint32_t *srisc_addr,
 	    "-> template size %x bytes\n", dlen);
 	if (dlen > risc_size * sizeof(*dcode)) {
 		ql_log(ql_log_warn, vha, 0x0167,
-		    "Failed fwdump template exceeds array by %lx bytes\n",
+		    "Failed fwdump template exceeds array by %zx bytes\n",
 		    (size_t)(dlen - risc_size * sizeof(*dcode)));
 		goto default_template;
 	}
@@ -6706,7 +6706,7 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
 	    "-> template size %x bytes\n", dlen);
 	if (dlen > risc_size * sizeof(*fwcode)) {
 		ql_log(ql_log_warn, vha, 0x0177,
-		    "Failed fwdump template exceeds array by %lx bytes\n",
+		    "Failed fwdump template exceeds array by %zx bytes\n",
 		    (size_t)(dlen - risc_size * sizeof(*fwcode)));
 		goto default_template;
 	}
-- 
2.9.0

[toc] | [next] | [standalone]


#1662483

From"Madhani, Himanshu" <Himanshu.Madhani@cavium.com>
Date2017-06-09 16:10 +0200
Message-ID<tQsLV-2vh-27@gated-at.bofh.it>
In reply to#1662277
Hi Arnd, 

> On Jun 9, 2017, at 3:46 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> 
> On 32-bit architectures, we using %lx to print a size_t causes a harmless
> warning:
> 
> qla2xxx/qla_init.c: In function 'qla24xx_load_risc_flash':
> qla2xxx/qla_init.c:6407:7: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
> qla2xxx/qla_init.c: In function 'qla24xx_load_risc_blob':
> qla2xxx/qla_init.c:6709:7: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
> 
> The correct format string is %zx.
> 
> Fixes: 0f110b54d157 ("scsi: qla2xxx: Retain loop test for fwdump length exceeding buffer length")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> drivers/scsi/qla2xxx/qla_init.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index 436968ad4484..730e7fe4344a 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -6404,7 +6404,7 @@ qla24xx_load_risc_flash(scsi_qla_host_t *vha, uint32_t *srisc_addr,
> 	    "-> template size %x bytes\n", dlen);
> 	if (dlen > risc_size * sizeof(*dcode)) {
> 		ql_log(ql_log_warn, vha, 0x0167,
> -		    "Failed fwdump template exceeds array by %lx bytes\n",
> +		    "Failed fwdump template exceeds array by %zx bytes\n",
> 		    (size_t)(dlen - risc_size * sizeof(*dcode)));
> 		goto default_template;
> 	}
> @@ -6706,7 +6706,7 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
> 	    "-> template size %x bytes\n", dlen);
> 	if (dlen > risc_size * sizeof(*fwcode)) {
> 		ql_log(ql_log_warn, vha, 0x0177,
> -		    "Failed fwdump template exceeds array by %lx bytes\n",
> +		    "Failed fwdump template exceeds array by %zx bytes\n",
> 		    (size_t)(dlen - risc_size * sizeof(*fwcode)));
> 		goto default_template;
> 	}
> -- 
> 2.9.0
> 

I had posted patch already to fix this https://patchwork.kernel.org/patch/9769981/

Thanks,
- Himanshu

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web