Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp647253imm; Wed, 29 Aug 2018 08:42:23 -0700 (PDT) X-Google-Smtp-Source: ANB0VdbwfUMUkETcAdK5he3Ea2LLYDDC4kPkKXiFPyQbjQ9+fyHFIap68yUjRin6SRWR4eZEXLIb X-Received: by 2002:a63:dc17:: with SMTP id s23-v6mr6309946pgg.40.1535557343383; Wed, 29 Aug 2018 08:42:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535557343; cv=none; d=google.com; s=arc-20160816; b=WlRC26Iyea5UpXL+GTxUqx1AuGce3WLCF8lKL16+WuvXY3iahALyr1wGKz5BboAe0q PuzWgkZZ33GMb1tLHeoMM3KO3KlfLf/08caXncO+5FoR01ioUu3FPsk7fhH1vkerGjRV iHcRTIyQ6/D774o1bkbKw/j2HiZYJ0tKkfXTTyraFOwD741ufusMSncC1K07BThQ7EMm 5VlNSW2ALMIqNAUQmMr6YcTmmokOCAJT/rJdytJkMrO/CrRxzehjp1AIVmUA93WMHPBu Zs22Nwz/HiaV2GgYbpK/rf9tqBzgYAyC33hamT607488RS0bgd7XF2eykBpQ0Jv8zEWE VR7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from :dkim-signature:arc-authentication-results; bh=qwMqs9Zkj3I45LMTA3lz6R0icX7nRFBMR0u7fKQ1To4=; b=OvHcl78us4VtwNVBEY9M5+uQ0DbuL8bz4+mftVpOECcK08gcDKZqRshsNC7J6Y7KRU O487vwk7V/FFW6G0+ZcYTnUbdcDz/yQLDwMhXCQBA9xR6FXmmNNoC0S7qfr0Jf9A8RWj ejno2P+qBlVMp1+6mMOOvKkITdHnl0fEFr6VHvPU0VLsLKryeECFZbA5fYRn3iPNo6BR hXcZD0Gyf0O2jwXcfID0CbgTU7zFzrLxjnx0mpB6LNavmS3WPmBe6/l2tR3Zz9oTNc5E 391OUCjZCTHRKS15RlkllrnPDmDw0aUiyD4kPbD64lbBjF9nxEdklwFgojXjFeq+Wuma fjHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=dxlKpwoq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v132-v6si4300791pgb.333.2018.08.29.08.42.08; Wed, 29 Aug 2018 08:42:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=dxlKpwoq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729076AbeH2Tic (ORCPT + 99 others); Wed, 29 Aug 2018 15:38:32 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:55238 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727204AbeH2Tic (ORCPT ); Wed, 29 Aug 2018 15:38:32 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w7TFdo9k063789; Wed, 29 Aug 2018 15:40:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id; s=corp-2018-07-02; bh=qwMqs9Zkj3I45LMTA3lz6R0icX7nRFBMR0u7fKQ1To4=; b=dxlKpwoqUAqxTJ2W1+94v6uiKxpPjzaqxV3YU6j3/cvwC+YWqyshW+NQH0UEX7Utf2iT fTd9mL6AaxhHEEomkbSp33TW0OLqh5utiWdA1MaX/Zbl4pP9lW1PAXRAoJkPx5Bs9dk8 x7hKaMG/9qnUDOuKdFe2bQlPujKXLf7hnRDXh0bX4gi1gq9NKKyEKKg/VMOdfxbOiBXT 8zdPVPN6+Pn+IqbvLEn20dV92jotWdh5Igo3bHQZp4H1mmqwxiNTGZeAGt6RBWMfTce1 1W9Z0TxHLI2wzSOtBPGi1bh/mb5mI4ZCKQ0CcQ68LmanJGBWZnegwjxQEWfIijM+FZzz uw== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2m2xhttnhn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Aug 2018 15:40:59 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w7TFewxk002961 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Aug 2018 15:40:58 GMT Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w7TFevl5020715; Wed, 29 Aug 2018 15:40:57 GMT Received: from dhcp-10-152-33-205.usdhcp.oraclecorp.com.com (/10.152.33.205) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 29 Aug 2018 08:40:56 -0700 From: George Kennedy To: matthew@wil.cx, jejb@linux.vnet.ibm.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, george.kennedy@oracle.com Subject: [PATCH] sym53c8xx: fix NULL pointer dereference panic in sym_int_sir() in sym_hipd.c Date: Wed, 29 Aug 2018 11:38:16 -0400 Message-Id: <1535557096-1324-1-git-send-email-george.kennedy@oracle.com> X-Mailer: git-send-email 1.8.3.1 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9000 signatures=668708 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=3 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=909 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1808290165 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org sym_int_sir() in sym_hipd.c does not check the command pointer for NULL before using it in debug message prints. Suggested-by: Matthew Wilcox Signed-off-by: George Kennedy Reviewed-by: Mark Kanda --- drivers/scsi/sym53c8xx_2/sym_hipd.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.c b/drivers/scsi/sym53c8xx_2/sym_hipd.c index bd3f6e2..0a2a545 100644 --- a/drivers/scsi/sym53c8xx_2/sym_hipd.c +++ b/drivers/scsi/sym53c8xx_2/sym_hipd.c @@ -4370,6 +4370,13 @@ static void sym_nego_rejected(struct sym_hcb *np, struct sym_tcb *tp, struct sym OUTB(np, HS_PRT, HS_BUSY); } +#define sym_printk(lvl, tp, cp, fmt, v...) do { \ + if (cp) \ + scmd_printk(lvl, cp->cmd, fmt, ##v); \ + else \ + starget_printk(lvl, tp->starget, fmt, ##v); \ +} while (0) + /* * chip exception handler for programmed interrupts. */ @@ -4415,7 +4422,7 @@ static void sym_int_sir(struct sym_hcb *np) * been selected with ATN. We do not want to handle that. */ case SIR_SEL_ATN_NO_MSG_OUT: - scmd_printk(KERN_WARNING, cp->cmd, + sym_printk(KERN_WARNING, tp, cp, "No MSG OUT phase after selection with ATN\n"); goto out_stuck; /* @@ -4423,7 +4430,7 @@ static void sym_int_sir(struct sym_hcb *np) * having reselected the initiator. */ case SIR_RESEL_NO_MSG_IN: - scmd_printk(KERN_WARNING, cp->cmd, + sym_printk(KERN_WARNING, tp, cp, "No MSG IN phase after reselection\n"); goto out_stuck; /* @@ -4431,7 +4438,7 @@ static void sym_int_sir(struct sym_hcb *np) * an IDENTIFY. */ case SIR_RESEL_NO_IDENTIFY: - scmd_printk(KERN_WARNING, cp->cmd, + sym_printk(KERN_WARNING, tp, cp, "No IDENTIFY after reselection\n"); goto out_stuck; /* @@ -4460,7 +4467,7 @@ static void sym_int_sir(struct sym_hcb *np) case SIR_RESEL_ABORTED: np->lastmsg = np->msgout[0]; np->msgout[0] = M_NOOP; - scmd_printk(KERN_WARNING, cp->cmd, + sym_printk(KERN_WARNING, tp, cp, "message %x sent on bad reselection\n", np->lastmsg); goto out; /* -- 1.8.3.1