scsi: qla2xxx: Fix printk() format string
authorArnd Bergmann <arnd@arndb.de>
Tue, 17 Jan 2023 17:00:15 +0000 (18:00 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 18 Jan 2023 23:34:41 +0000 (18:34 -0500)
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 <arnd@arndb.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Himanshu Madhani <himansnhu.madhani@oracle.com <mailto:himansnhu.madhani@oracle.com>>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20230117170029.2387516-1-arnd@kernel.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_mid.c

index c6ca39b..1483f62 100644 (file)
@@ -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 *);