From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759053AbbIVRxa (ORCPT ); Tue, 22 Sep 2015 13:53:30 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:42542 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758549AbbIVRxZ (ORCPT ); Tue, 22 Sep 2015 13:53:25 -0400 From: Kamal Mostafa To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@lists.ubuntu.com Cc: Alistair Popple , Corey Minyard , Tim Gardner , Kamal Mostafa Subject: [PATCH 3.19.y-ckt 006/102] ipmi/powernv: Fix minor locking bug Date: Tue, 22 Sep 2015 10:51:02 -0700 Message-Id: <1442944358-1248-7-git-send-email-kamal@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1442944358-1248-1-git-send-email-kamal@canonical.com> References: <1442944358-1248-1-git-send-email-kamal@canonical.com> X-Extended-Stable: 3.19 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.19.8-ckt7 -stable review patch. If anyone has any objections, please let me know. ------------------ From: Alistair Popple commit ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0 upstream. If ipmi_powernv_recv(...) is called without a current message it prints a warning and returns. However it fails to release the message lock causing the system to dead lock during any subsequent IPMI operations. This error path should never normally be taken unless there are bugs elsewhere in the system. Signed-off-by: Alistair Popple Signed-off-by: Corey Minyard Cc: Tim Gardner Signed-off-by: Kamal Mostafa --- drivers/char/ipmi/ipmi_powernv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/char/ipmi/ipmi_powernv.c b/drivers/char/ipmi/ipmi_powernv.c index 79524ed..8753b0f 100644 --- a/drivers/char/ipmi/ipmi_powernv.c +++ b/drivers/char/ipmi/ipmi_powernv.c @@ -125,6 +125,7 @@ static int ipmi_powernv_recv(struct ipmi_smi_powernv *smi) spin_lock_irqsave(&smi->msg_lock, flags); if (!smi->cur_msg) { + spin_unlock_irqrestore(&smi->msg_lock, flags); pr_warn("no current message?\n"); return 0; } -- 1.9.1