Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2445701imm; Mon, 28 May 2018 08:13:23 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpBL93j5mhmttxw3cHyWfNOQW0EwhbihF1RAUtRQac6SEjw7/ViThtePVr+Kq5delN64Z4z X-Received: by 2002:a62:ab10:: with SMTP id p16-v6mr13729119pff.211.1527520403452; Mon, 28 May 2018 08:13:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527520403; cv=none; d=google.com; s=arc-20160816; b=hqXhGU6Qz7tethiGf4z7HjjgcDkFhsAvEQub207C7Bwrc1p73gNaauMKbQ6/ezWqXc hgx9qLdrtzi036+xPcnxSLb3qNyjCZck2wtFiQrsftlsuYHoLskEuPt8uAVJ3UnNa7F0 SmoXlC0LeofJmf3RSBbx746y0Jb9mOOi9vN8bwHW0wsRJXlbX/QmcgkpDzGQR7Uze90D yWOXqTLw+XwNqwdWhH/FGCxSggCiNKSejTPW1Bu80RXLCeO9MrR/uTPIjmKfQh1cLt8u oFJW/TAG2o9KjY1rR3j8gjUmzi46sarZzhbqFLkKoXaQ1MkfjGJJjJWFFtL7C8y3MMdg l+gQ== 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=QYTMXnYYaorsQ215aYANE6Z7/l4KtjcnvdHKYKjDOhM=; b=pwON5sQ7sl2HRZZUCZ2550dUH0b3H+5BvcQJs5GYZQMqI5HjycLNLjFguDLj0B8ICN +W5o/9GELb/XVrH58ez3rabQnJNqjx1GP6Zz3wIslcQ3kzzwdeOAR9kg4MWVW371b8vI h5KQlJLUivFkf+dNhHvvGTBndaLE+OnmzK9nsRun1BCX8dIPIqJcpU0HCXsvo0348wQV DZTVMRyiJNZMCLgltNKU6s6QF9iGtFli9jQrC6G+K7e4rxCre4NkSVso8nQQ7R8xbVB6 pXrLAOv2fMLtorVu8czDG0vY+emRj1eJPGo/MVMBJkP2j0soyfOUl8yTJP1HwxMA0uXb bGUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SMhhgduP; 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 l81-v6si31224265pfj.127.2018.05.28.08.13.09; Mon, 28 May 2018 08:13: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=@kernel.org header.s=default header.b=SMhhgduP; 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 S1166079AbeE1PMe (ORCPT + 99 others); Mon, 28 May 2018 11:12:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:42992 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033291AbeE1KXi (ORCPT ); Mon, 28 May 2018 06:23:38 -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 29A3F208A5; Mon, 28 May 2018 10:23:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527503017; bh=S/CsFZcN16L74VWOYhs0dYDlsV+/yqwI06ma0vPaQjQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SMhhgduPi2hginxRbY+VeERqK41ni0Mi/SFuGKsoYtCpjh78VXEgyvwRTuYwZAntE yDvIKxeumF42x5g2s8UC7Nm98qzbgm/jP+u1yhPQjz2R8h56NRBsVfX4bky+0qjpjA Cai3znN/GEXmX3xINK3OYfB98aD8eQWLQiJVZO1Q= 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.4 212/268] ipmi_ssif: Fix kernel panic at msg_done_handler Date: Mon, 28 May 2018 12:03:06 +0200 Message-Id: <20180528100226.166139233@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100202.045206534@linuxfoundation.org> References: <20180528100202.045206534@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.4-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 @@ -757,7 +757,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) { /* @@ -779,7 +779,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",