Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751101AbdHXAev (ORCPT ); Wed, 23 Aug 2017 20:34:51 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:37106 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751003AbdHXAeu (ORCPT ); Wed, 23 Aug 2017 20:34:50 -0400 From: James Smart To: linux-scsi@vger.kernel.org Cc: linux-kernel@vger.kernel.org, hare@suse.com, martin.petersen@oracle.com, jejb@linux.vnet.ibm.com, arnd@arndb.de, James Smart , James Smart Subject: [PATCH v2] scsi: lpfc: avoid false positive gcc-8 warning Date: Wed, 23 Aug 2017 17:34:40 -0700 Message-Id: <20170824003440.4270-1-jsmart2021@gmail.com> X-Mailer: git-send-email 2.13.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1586 Lines: 44 Arnd Bergmann, testing gcc-8, encountered the following: > This is an interesting regression with gcc-8, showing a harmless > warning for correct code: > >In file included from include/linux/kernel.h:13:0, > ... > from drivers/scsi/lpfc/lpfc_debugfs.c:23: > include/linux/printk.h:301:2: error: 'eq' may be used > uninitialized in this function [-Werror=maybe-uninitialized] > printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) > ^~~~~~ > In file included from drivers/scsi/lpfc/lpfc_debugfs.c:58:0: > drivers/scsi/lpfc/lpfc_debugfs.h:451:31: note: 'eq' was > declared here The code is fine: a for loop which if there's at least 1 itteration, will assign eq a value. Followed by an if test that checks for no itterations and assigns eq a default value. But the checker doesn't see the relationship between the two so assumes eq may not a have a value. I believe, simply initializing with a NULL will solve the issue. Signed-off-by: James Smart --- drivers/scsi/lpfc/lpfc_debugfs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_debugfs.h b/drivers/scsi/lpfc/lpfc_debugfs.h index 7b7d314af0e0..32e86d7813a0 100644 --- a/drivers/scsi/lpfc/lpfc_debugfs.h +++ b/drivers/scsi/lpfc/lpfc_debugfs.h @@ -448,7 +448,7 @@ lpfc_debug_dump_wq(struct lpfc_hba *phba, int qtype, int wqidx) static inline void lpfc_debug_dump_cq(struct lpfc_hba *phba, int qtype, int wqidx) { - struct lpfc_queue *wq, *cq, *eq; + struct lpfc_queue *wq, *cq, *eq = NULL; char *qtypestr; int eqidx; -- 2.13.1