Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2246733imm; Mon, 28 May 2018 04:42:33 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrfUL47n/Y7+d4XjRJgam9qdDNKkeKYtxTOUJW56mHujr0FfnMMkiQk1dLB2u8MQvPOd2JS X-Received: by 2002:a17:902:bd0a:: with SMTP id p10-v6mr13485004pls.69.1527507753368; Mon, 28 May 2018 04:42:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527507753; cv=none; d=google.com; s=arc-20160816; b=OBXf0+fBstMWa/WKJtU5pImtUpH7LYHAiNRlEor/Wa4xcdsl5lPum6JO1626IWgrHq 7tcJv7affeNWeHO5CtyWO16D8cOCly+4E1k+icXhmwbEGvSq7m9rwPiMtbsTBJGpesRh X+eOzXGaM3ijAxow5z/9tRVF6ZMtaw2YuW/7RhJGNIDGG5mf/MAJuRSQWMffr9wKtVEb CDBg3UPGEKcU1mXwtyqDM9Evde7OooRFSYUJELeDKbX8WduTrHrN5W4B/7EIxmf9Bso/ eJ9mCuRl+56AmXXNx2q8p+9X8qVHLwI2gLOEREWpaFRM3+gntNZiW5gZdL0z7dzhxW2d eYxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=RepsnmdhgIWjFQgjdShdpLBvgvhejaF/mhDJtFCdTRo=; b=0OQ+CUbda4nVGC8iwjvbscoW1XMAZJRuDsEWZC7YikK5foxauCFyHRMst0nYPWL7Zt VvTl+ZzkecbjQvgTXp2DqsR3pzBspXCfroozKvnDdES2F6OXf4QnGY72biRyToXu6oJm Lb7PTJtvVvk9+LItCiiw8dED9PJraJ9s2UCAxnE4Hn81ixpd76hcmLf9C+J5UmqEk2FR b8azGPwWJ/dCyCWrl52c49rH6jTmKE+tvhnOJ8De0MRxgX7VV5Z6e/rQ8loIZci0OlG/ 6/vs5YGlo1fVFfS1J1qg/yBjcLg6gx+FBFBbxlg7kr0za+kfyy+bZbSkqPMsEANaf0MR OSAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=smaabM9z; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b62-v6si2683791pfm.104.2018.05.28.04.42.18; Mon, 28 May 2018 04:42:33 -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=@kernel.org header.s=default header.b=smaabM9z; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938379AbeE1Lld (ORCPT + 99 others); Mon, 28 May 2018 07:41:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:59762 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1424138AbeE1LLx (ORCPT ); Mon, 28 May 2018 07:11:53 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 48FED208A3; Mon, 28 May 2018 11:11:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527505912; bh=8keRTvy8YF3u3WpGMPRE9Q1m5RjeYRcaMycSAUpLeWo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=smaabM9zqPVgmfxTPCYcNaUI/OyS+d4BazChYZdNuvSQQuStyLv1eKxXuz9IfKtj2 v0fIwtn0IxjKjXmzU9DUeb7TK7Nid62gpMXJm16Hf042BgY5IUjBtzTf+dfXV0kfGQ lXKwIeUPI/sCNlYwY8RRiyP12RJmiWuD0/0Sgnjg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kamlakant Patel , Corey Minyard , Sasha Levin Subject: [PATCH 4.16 173/272] ipmi_ssif: Fix kernel panic at msg_done_handler Date: Mon, 28 May 2018 12:03:26 +0200 Message-Id: <20180528100255.301319135@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Kamlakant Patel [ Upstream commit f002612b9d86613bc6fde0a444e0095225f6053e ] This happens when BMC doesn't return any data and the code is trying to print the value of data[2]. Getting following crash: [ 484.728410] Unable to handle kernel NULL pointer dereference at virtual address 00000002 [ 484.736496] pgd = ffff0000094a2000 [ 484.739885] [00000002] *pgd=00000047fcffe003, *pud=00000047fcffd003, *pmd=0000000000000000 [ 484.748158] Internal error: Oops: 96000005 [#1] SMP [...] [ 485.101451] Call trace: [...] [ 485.188473] [] msg_done_handler+0x668/0x700 [ipmi_ssif] [ 485.195249] [] ipmi_ssif_thread+0x110/0x128 [ipmi_ssif] [ 485.202038] [] kthread+0x108/0x138 [ 485.206994] [] ret_from_fork+0x10/0x30 [ 485.212294] Code: aa1903e1 aa1803e0 b900227f 95fef6a5 (39400aa3) Adding a check to validate the data len before printing data[2] to fix this issue. Signed-off-by: Kamlakant Patel Signed-off-by: Corey Minyard Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/char/ipmi/ipmi_ssif.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/char/ipmi/ipmi_ssif.c +++ b/drivers/char/ipmi/ipmi_ssif.c @@ -761,7 +761,7 @@ static void msg_done_handler(struct ssif ssif_info->ssif_state = SSIF_NORMAL; ipmi_ssif_unlock_cond(ssif_info, flags); pr_warn(PFX "Error getting flags: %d %d, %x\n", - result, len, data[2]); + result, len, (len >= 3) ? data[2] : 0); } else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2 || data[1] != IPMI_GET_MSG_FLAGS_CMD) { /* @@ -783,7 +783,7 @@ static void msg_done_handler(struct ssif if ((result < 0) || (len < 3) || (data[2] != 0)) { /* Error clearing flags */ pr_warn(PFX "Error clearing flags: %d %d, %x\n", - result, len, data[2]); + result, len, (len >= 3) ? data[2] : 0); } else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2 || data[1] != IPMI_CLEAR_MSG_FLAGS_CMD) { pr_warn(PFX "Invalid response clearing flags: %x %x\n",