diff mbox

scsi: qedf: Fix defective logging format and argument mismatches

Message ID b75448afd5e48f342ad9f1785c6546eee7948af9.1488614805.git.joe@perches.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Joe Perches March 4, 2017, 8:07 a.m. UTC
Add __printf compiler verification of format and arguments.
Fix fallout.

Signed-off-by: Joe Perches <joe@perches.com>
---
 drivers/scsi/qedf/qedf_dbg.h | 13 ++++++++-----
 drivers/scsi/qedf/qedf_fip.c |  2 +-
 drivers/scsi/qedf/qedf_io.c  |  4 ++--
 3 files changed, 11 insertions(+), 8 deletions(-)

Comments

kernel test robot March 6, 2017, 5:52 p.m. UTC | #1
Hi Joe,

[auto build test WARNING on scsi/for-next]
[also build test WARNING on v4.11-rc1 next-20170306]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Joe-Perches/scsi-qedf-Fix-defective-logging-format-and-argument-mismatches/20170307-005400
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   drivers/scsi/qedf/qedf_main.c: In function 'qedf_alloc_bdq':
>> drivers/scsi/qedf/qedf_main.c:2458:2: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 7 has type 'dma_addr_t' [-Wformat=]
     QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
     ^

vim +2458 drivers/scsi/qedf/qedf_main.c

61d8658b Dupuis, Chad 2017-02-15  2442  		}
61d8658b Dupuis, Chad 2017-02-15  2443  	}
61d8658b Dupuis, Chad 2017-02-15  2444  
61d8658b Dupuis, Chad 2017-02-15  2445  	/* Alloc dma memory for BDQ page buffer list */
61d8658b Dupuis, Chad 2017-02-15  2446  	qedf->bdq_pbl_mem_size =
61d8658b Dupuis, Chad 2017-02-15  2447  	    QEDF_BDQ_SIZE * sizeof(struct scsi_bd);
61d8658b Dupuis, Chad 2017-02-15  2448  	qedf->bdq_pbl_mem_size =
61d8658b Dupuis, Chad 2017-02-15  2449  	    ALIGN(qedf->bdq_pbl_mem_size, QEDF_PAGE_SIZE);
61d8658b Dupuis, Chad 2017-02-15  2450  
61d8658b Dupuis, Chad 2017-02-15  2451  	qedf->bdq_pbl = dma_alloc_coherent(&qedf->pdev->dev,
61d8658b Dupuis, Chad 2017-02-15  2452  	    qedf->bdq_pbl_mem_size, &qedf->bdq_pbl_dma, GFP_KERNEL);
61d8658b Dupuis, Chad 2017-02-15  2453  	if (!qedf->bdq_pbl) {
61d8658b Dupuis, Chad 2017-02-15  2454  		QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate BDQ PBL.\n");
61d8658b Dupuis, Chad 2017-02-15  2455  		return -ENOMEM;
61d8658b Dupuis, Chad 2017-02-15  2456  	}
61d8658b Dupuis, Chad 2017-02-15  2457  
61d8658b Dupuis, Chad 2017-02-15 @2458  	QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
61d8658b Dupuis, Chad 2017-02-15  2459  	    "BDQ PBL addr=0x%p dma=0x%llx.\n", qedf->bdq_pbl,
61d8658b Dupuis, Chad 2017-02-15  2460  	    qedf->bdq_pbl_dma);
61d8658b Dupuis, Chad 2017-02-15  2461  
61d8658b Dupuis, Chad 2017-02-15  2462  	/*
61d8658b Dupuis, Chad 2017-02-15  2463  	 * Populate BDQ PBL with physical and virtual address of individual
61d8658b Dupuis, Chad 2017-02-15  2464  	 * BDQ buffers
61d8658b Dupuis, Chad 2017-02-15  2465  	 */
61d8658b Dupuis, Chad 2017-02-15  2466  	pbl = (struct scsi_bd *)qedf->bdq_pbl;

:::::: The code at line 2458 was first introduced by commit
:::::: 61d8658b4a435eac729966cc94cdda077a8df5cd scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.

:::::: TO: Dupuis, Chad <chad.dupuis@cavium.com>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot March 6, 2017, 6:03 p.m. UTC | #2
Hi Joe,

[auto build test WARNING on scsi/for-next]
[also build test WARNING on v4.11-rc1 next-20170306]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Joe-Perches/scsi-qedf-Fix-defective-logging-format-and-argument-mismatches/20170307-005400
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: parisc-allmodconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All warnings (new ones prefixed by >>):

   In file included from drivers/scsi/qedf/qedf.h:28:0,
                    from drivers/scsi/qedf/qedf_main.c:24:
   drivers/scsi/qedf/qedf_main.c: In function 'qedf_alloc_bdq':
>> drivers/scsi/qedf/qedf_main.c:2459:6: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 7 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
         "BDQ PBL addr=0x%p dma=0x%llx.\n", qedf->bdq_pbl,
         ^
   drivers/scsi/qedf/qedf_dbg.h:82:50: note: in definition of macro 'QEDF_INFO'
      qedf_dbg_info(pdev, __func__, __LINE__, level, fmt, \
                                                     ^~~

vim +2459 drivers/scsi/qedf/qedf_main.c

61d8658b Dupuis, Chad 2017-02-15  2443  	}
61d8658b Dupuis, Chad 2017-02-15  2444  
61d8658b Dupuis, Chad 2017-02-15  2445  	/* Alloc dma memory for BDQ page buffer list */
61d8658b Dupuis, Chad 2017-02-15  2446  	qedf->bdq_pbl_mem_size =
61d8658b Dupuis, Chad 2017-02-15  2447  	    QEDF_BDQ_SIZE * sizeof(struct scsi_bd);
61d8658b Dupuis, Chad 2017-02-15  2448  	qedf->bdq_pbl_mem_size =
61d8658b Dupuis, Chad 2017-02-15  2449  	    ALIGN(qedf->bdq_pbl_mem_size, QEDF_PAGE_SIZE);
61d8658b Dupuis, Chad 2017-02-15  2450  
61d8658b Dupuis, Chad 2017-02-15  2451  	qedf->bdq_pbl = dma_alloc_coherent(&qedf->pdev->dev,
61d8658b Dupuis, Chad 2017-02-15  2452  	    qedf->bdq_pbl_mem_size, &qedf->bdq_pbl_dma, GFP_KERNEL);
61d8658b Dupuis, Chad 2017-02-15  2453  	if (!qedf->bdq_pbl) {
61d8658b Dupuis, Chad 2017-02-15  2454  		QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate BDQ PBL.\n");
61d8658b Dupuis, Chad 2017-02-15  2455  		return -ENOMEM;
61d8658b Dupuis, Chad 2017-02-15  2456  	}
61d8658b Dupuis, Chad 2017-02-15  2457  
61d8658b Dupuis, Chad 2017-02-15  2458  	QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
61d8658b Dupuis, Chad 2017-02-15 @2459  	    "BDQ PBL addr=0x%p dma=0x%llx.\n", qedf->bdq_pbl,
61d8658b Dupuis, Chad 2017-02-15  2460  	    qedf->bdq_pbl_dma);
61d8658b Dupuis, Chad 2017-02-15  2461  
61d8658b Dupuis, Chad 2017-02-15  2462  	/*
61d8658b Dupuis, Chad 2017-02-15  2463  	 * Populate BDQ PBL with physical and virtual address of individual
61d8658b Dupuis, Chad 2017-02-15  2464  	 * BDQ buffers
61d8658b Dupuis, Chad 2017-02-15  2465  	 */
61d8658b Dupuis, Chad 2017-02-15  2466  	pbl = (struct scsi_bd *)qedf->bdq_pbl;
61d8658b Dupuis, Chad 2017-02-15  2467  	for (i = 0; i < QEDF_BDQ_SIZE; i++) {

:::::: The code at line 2459 was first introduced by commit
:::::: 61d8658b4a435eac729966cc94cdda077a8df5cd scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.

:::::: TO: Dupuis, Chad <chad.dupuis@cavium.com>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Joe Perches March 6, 2017, 6:33 p.m. UTC | #3
On Mon, 2017-03-06 at 10:17 -0800, Joe Perches wrote:
> On Tue, 2017-03-07 at 02:03 +0800, kbuild test robot wrote:
> > Hi Joe,
> 
> Hi again Fengguang's robot.

Rehi.  OK, it is a new message.  Patch sent.
Dupuis, Chad March 6, 2017, 7:33 p.m. UTC | #4
On Sat, 4 Mar 2017, 8:07am -0000, Joe Perches wrote:

> Add __printf compiler verification of format and arguments.
> Fix fallout.
> 
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>  drivers/scsi/qedf/qedf_dbg.h | 13 ++++++++-----
>  drivers/scsi/qedf/qedf_fip.c |  2 +-
>  drivers/scsi/qedf/qedf_io.c  |  4 ++--
>  3 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/scsi/qedf/qedf_dbg.h b/drivers/scsi/qedf/qedf_dbg.h

Thanks.

Acked-by: Chad Dupuis <chad.dupuis@cavium.com>
diff mbox

Patch

diff --git a/drivers/scsi/qedf/qedf_dbg.h b/drivers/scsi/qedf/qedf_dbg.h
index 23bd70628a2f..7d173f48a81e 100644
--- a/drivers/scsi/qedf/qedf_dbg.h
+++ b/drivers/scsi/qedf/qedf_dbg.h
@@ -81,14 +81,17 @@  struct qedf_dbg_ctx {
 #define QEDF_INFO(pdev, level, fmt, ...)	\
 		qedf_dbg_info(pdev, __func__, __LINE__, level, fmt,	\
 			      ## __VA_ARGS__)
-
-extern void qedf_dbg_err(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
+__printf(4, 5)
+void qedf_dbg_err(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
 			  const char *fmt, ...);
-extern void qedf_dbg_warn(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
+__printf(4, 5)
+void qedf_dbg_warn(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
 			   const char *, ...);
-extern void qedf_dbg_notice(struct qedf_dbg_ctx *qedf, const char *func,
+__printf(4, 5)
+void qedf_dbg_notice(struct qedf_dbg_ctx *qedf, const char *func,
 			    u32 line, const char *, ...);
-extern void qedf_dbg_info(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
+__printf(5, 6)
+void qedf_dbg_info(struct qedf_dbg_ctx *qedf, const char *func, u32 line,
 			  u32 info, const char *fmt, ...);
 
 /* GRC Dump related defines */
diff --git a/drivers/scsi/qedf/qedf_fip.c b/drivers/scsi/qedf/qedf_fip.c
index 868d423380d1..ed58b9104f58 100644
--- a/drivers/scsi/qedf/qedf_fip.c
+++ b/drivers/scsi/qedf/qedf_fip.c
@@ -203,7 +203,7 @@  void qedf_fip_recv(struct qedf_ctx *qedf, struct sk_buff *skb)
 			case FIP_DT_MAC:
 				mp = (struct fip_mac_desc *)desc;
 				QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2,
-				    "fd_mac=%pM.\n", __func__, mp->fd_mac);
+				    "fd_mac=%pM\n", mp->fd_mac);
 				ether_addr_copy(cvl_mac, mp->fd_mac);
 				break;
 			case FIP_DT_NAME:
diff --git a/drivers/scsi/qedf/qedf_io.c b/drivers/scsi/qedf/qedf_io.c
index ee0dcf9d3aba..46debe5034af 100644
--- a/drivers/scsi/qedf/qedf_io.c
+++ b/drivers/scsi/qedf/qedf_io.c
@@ -1342,7 +1342,7 @@  void qedf_scsi_completion(struct qedf_ctx *qedf, struct fcoe_cqe *cqe,
 		} else {
 			refcount = kref_read(&io_req->refcount);
 			QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO,
-			    "%d:0:%d:%d xid=0x%0x op=0x%02x "
+			    "%d:0:%d:%lld xid=0x%0x op=0x%02x "
 			    "lba=%02x%02x%02x%02x cdb_status=%d "
 			    "fcp_resid=0x%x refcount=%d.\n",
 			    qedf->lport->host->host_no, sc_cmd->device->id,
@@ -1426,7 +1426,7 @@  void qedf_scsi_done(struct qedf_ctx *qedf, struct qedf_ioreq *io_req,
 
 	sc_cmd->result = result << 16;
 	refcount = kref_read(&io_req->refcount);
-	QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, "%d:0:%d:%d: Completing "
+	QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, "%d:0:%d:%lld: Completing "
 	    "sc_cmd=%p result=0x%08x op=0x%02x lba=0x%02x%02x%02x%02x, "
 	    "allowed=%d retries=%d refcount=%d.\n",
 	    qedf->lport->host->host_no, sc_cmd->device->id,