2023-01-17 17:35:05

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] qla2xxx: fix printk format string

From: Arnd Bergmann <[email protected]>

Printing a size_t value that is the result of the sizeof() operator requires
using the %z format string modifier to avoid a warning on 32-bit architectures:

drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool':
drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| long int unsigned int
| %d

Fixes: 82d8dfd2a238 ("scsi: qla2xxx: edif: Fix performance dip due to lock contention")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/scsi/qla2xxx/qla_mid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index c6ca39b8e23d..1483f6258f92 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -1091,7 +1091,7 @@ int qla_create_buf_pool(struct scsi_qla_host *vha, struct qla_qpair *qp)
qp->buf_pool.buf_map = kcalloc(sz, sizeof(long), GFP_KERNEL);
if (!qp->buf_pool.buf_map) {
ql_log(ql_log_warn, vha, 0x0186,
- "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
+ "Failed to allocate buf_map(%zd).\n", sz * sizeof(unsigned long));
return -ENOMEM;
}
sz = qp->req->length * sizeof(void *);
--
2.39.0


2023-01-17 18:29:48

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH] qla2xxx: fix printk format string

On 1/17/23 09:00, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Printing a size_t value that is the result of the sizeof() operator requires
> using the %z format string modifier to avoid a warning on 32-bit architectures:
>
> drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool':
> drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> 1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> | ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
> | | |
> | long int unsigned int
> | %d
>
> Fixes: 82d8dfd2a238 ("scsi: qla2xxx: edif: Fix performance dip due to lock contention")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/scsi/qla2xxx/qla_mid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
> index c6ca39b8e23d..1483f6258f92 100644
> --- a/drivers/scsi/qla2xxx/qla_mid.c
> +++ b/drivers/scsi/qla2xxx/qla_mid.c
> @@ -1091,7 +1091,7 @@ int qla_create_buf_pool(struct scsi_qla_host *vha, struct qla_qpair *qp)
> qp->buf_pool.buf_map = kcalloc(sz, sizeof(long), GFP_KERNEL);
> if (!qp->buf_pool.buf_map) {
> ql_log(ql_log_warn, vha, 0x0186,
> - "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> + "Failed to allocate buf_map(%zd).\n", sz * sizeof(unsigned long));
> return -ENOMEM;
> }
> sz = qp->req->length * sizeof(void *);

Reviewed-by: Bart Van Assche <[email protected]>

2023-01-17 19:10:32

by Himanshu Madhani

[permalink] [raw]
Subject: Re: [PATCH] qla2xxx: fix printk format string



> On Jan 17, 2023, at 9:00 AM, Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> Printing a size_t value that is the result of the sizeof() operator requires
> using the %z format string modifier to avoid a warning on 32-bit architectures:
>
> drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool':
> drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> 1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> | ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
> | | |
> | long int unsigned int
> | %d
>
> Fixes: 82d8dfd2a238 ("scsi: qla2xxx: edif: Fix performance dip due to lock contention")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/scsi/qla2xxx/qla_mid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
> index c6ca39b8e23d..1483f6258f92 100644
> --- a/drivers/scsi/qla2xxx/qla_mid.c
> +++ b/drivers/scsi/qla2xxx/qla_mid.c
> @@ -1091,7 +1091,7 @@ int qla_create_buf_pool(struct scsi_qla_host *vha, struct qla_qpair *qp)
> qp->buf_pool.buf_map = kcalloc(sz, sizeof(long), GFP_KERNEL);
> if (!qp->buf_pool.buf_map) {
> ql_log(ql_log_warn, vha, 0x0186,
> - "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> + "Failed to allocate buf_map(%zd).\n", sz * sizeof(unsigned long));
> return -ENOMEM;
> }
> sz = qp->req->length * sizeof(void *);
> --
> 2.39.0
>

Reviewed-by: Himanshu Madhani <[email protected] <mailto:[email protected]>>

--
Himanshu Madhani Oracle Linux Engineering

2023-01-17 21:55:14

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] qla2xxx: fix printk format string

On Tue, Jan 17, 2023 at 06:00:15PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Printing a size_t value that is the result of the sizeof() operator requires
> using the %z format string modifier to avoid a warning on 32-bit architectures:
>
> drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool':
> drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> 1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> | ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
> | | |
> | long int unsigned int
> | %d
>
> Fixes: 82d8dfd2a238 ("scsi: qla2xxx: edif: Fix performance dip due to lock contention")
> Signed-off-by: Arnd Bergmann <[email protected]>

Thanks for the patch!

Reviewed-by: Nick Desaulniers <[email protected]>
Reported-by: "kernelci.org bot" <[email protected]>
Link: https://lore.kernel.org/llvm/[email protected]/

> ---
> drivers/scsi/qla2xxx/qla_mid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
> index c6ca39b8e23d..1483f6258f92 100644
> --- a/drivers/scsi/qla2xxx/qla_mid.c
> +++ b/drivers/scsi/qla2xxx/qla_mid.c
> @@ -1091,7 +1091,7 @@ int qla_create_buf_pool(struct scsi_qla_host *vha, struct qla_qpair *qp)
> qp->buf_pool.buf_map = kcalloc(sz, sizeof(long), GFP_KERNEL);
> if (!qp->buf_pool.buf_map) {
> ql_log(ql_log_warn, vha, 0x0186,
> - "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> + "Failed to allocate buf_map(%zd).\n", sz * sizeof(unsigned long));
> return -ENOMEM;
> }
> sz = qp->req->length * sizeof(void *);
> --
> 2.39.0
>
>

2023-01-19 00:17:57

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] qla2xxx: fix printk format string


Arnd,

> Printing a size_t value that is the result of the sizeof() operator
> requires using the %z format string modifier to avoid a warning on
> 32-bit architectures:

Applied to 6.3/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering

2023-01-27 03:23:52

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] qla2xxx: fix printk format string

On Tue, 17 Jan 2023 18:00:15 +0100, Arnd Bergmann wrote:

> Printing a size_t value that is the result of the sizeof() operator requires
> using the %z format string modifier to avoid a warning on 32-bit architectures:
>
> drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool':
> drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=]
> 1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long));
> | ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
> | | |
> | long int unsigned int
> | %d
>
> [...]

Applied to 6.3/scsi-queue, thanks!

[1/1] qla2xxx: fix printk format string
https://git.kernel.org/mkp/scsi/c/d794a23113b1

--
Martin K. Petersen Oracle Linux Engineering