Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2326529imm; Fri, 7 Sep 2018 14:43:18 -0700 (PDT) X-Google-Smtp-Source: ANB0VdavPhCZPwfjYUf9k5jzQ/EZD6GuNVz0+GbcJIraneFuQyPTgwUTcPBzK8pbgDqHU92bW9Dx X-Received: by 2002:aa7:86cb:: with SMTP id h11-v6mr10697922pfo.58.1536356598246; Fri, 07 Sep 2018 14:43:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536356598; cv=none; d=google.com; s=arc-20160816; b=qKtKEtYEA8mJjZFVkwKR/Rt1cAqGlVmDUNj0orLUYNg2/iq6BWCG2bnL+oDsRN7dB5 OiQjKz8j8I7WMZrxCE+c/p2uMa8IlacrQjqcHF0vFkuFjq2Q9IaaIoZDW6b4EeKdIH39 eocGsxyOGBxNDkYtxazXv6CEgctVK2/u5ulBRwku5fi/ta40XtC3+zqkm+l7Tshn8T8G o2G29Pf3ksjZkceSS6/94Hik2qWGvQAkLeXVHt4roZ3wXXCyaPD6SzrEZYn1pYjdqYJ1 /p7eW9uoZfxsQHOXk+uX5NXFqEMy1TGi9ujpWq5eec+BaXL48rPF2fs+CnKPEzqnEoxU n/ZA== 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; bh=rt5z7UjLCGCpPWw68PuNeuUtaQ/S+nZMNNHf3tQxDX8=; b=uMyaxHFihRYsYDzP2NkmHhtDLKDbdNND0UJrElZj8alJIoQzqLXRQ8sxWs22xuBUgb WyS55NyQZqsaaNowum1u9VzzMU15gAT/5CERpeaADtHwI62WE8hCJjizemAW2F+XrBq2 Hcf77OBm4XOleCcsEqgB7QBzmNMhf67mf9Jdg8eKOcT1u80C4fbLCwnyTyh8pBn9JF9z rroM+xW65B/pUbSoufuHh168+O2IYQFWFSSGE0Ql1OOIJGXZ0g6SWhstiVDdrbazRfda v4VZNDq0en3r2c6XDMJGeJV96wTEVaVn3EIbFnvWm4iLDQUDVkY5h8rb9e99zt1Qsqkt pHfw== ARC-Authentication-Results: i=1; mx.google.com; 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 o17-v6si5815702pgl.326.2018.09.07.14.43.03; Fri, 07 Sep 2018 14:43:18 -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; 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 S1730349AbeIHCYc (ORCPT + 99 others); Fri, 7 Sep 2018 22:24:32 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:54962 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728198AbeIHCYb (ORCPT ); Fri, 7 Sep 2018 22:24:31 -0400 Received: from localhost (ip-213-127-74-90.ip.prioritytelecom.net [213.127.74.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id BB383FEA; Fri, 7 Sep 2018 21:41:36 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nicholas Piggin , Mahesh Salgaonkar , Michael Ellerman Subject: [PATCH 4.4 08/47] powerpc/pseries: Fix endianness while restoring of r3 in MCE handler. Date: Fri, 7 Sep 2018 23:10:04 +0200 Message-Id: <20180907210905.212577353@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180907210904.607934824@linuxfoundation.org> References: <20180907210904.607934824@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: Mahesh Salgaonkar commit cd813e1cd7122f2c261dce5b54d1e0c97f80e1a5 upstream. During Machine Check interrupt on pseries platform, register r3 points RTAS extended event log passed by hypervisor. Since hypervisor uses r3 to pass pointer to rtas log, it stores the original r3 value at the start of the memory (first 8 bytes) pointed by r3. Since hypervisor stores this info and rtas log is in BE format, linux should make sure to restore r3 value in correct endian format. Without this patch when MCE handler, after recovery, returns to code that that caused the MCE may end up with Data SLB access interrupt for invalid address followed by kernel panic or hang. Severe Machine check interrupt [Recovered] NIP [d00000000ca301b8]: init_module+0x1b8/0x338 [bork_kernel] Initiator: CPU Error type: SLB [Multihit] Effective address: d00000000ca70000 cpu 0xa: Vector: 380 (Data SLB Access) at [c0000000fc7775b0] pc: c0000000009694c0: vsnprintf+0x80/0x480 lr: c0000000009698e0: vscnprintf+0x20/0x60 sp: c0000000fc777830 msr: 8000000002009033 dar: a803a30c000000d0 current = 0xc00000000bc9ef00 paca = 0xc00000001eca5c00 softe: 3 irq_happened: 0x01 pid = 8860, comm = insmod vscnprintf+0x20/0x60 vprintk_emit+0xb4/0x4b0 vprintk_func+0x5c/0xd0 printk+0x38/0x4c init_module+0x1c0/0x338 [bork_kernel] do_one_initcall+0x54/0x230 do_init_module+0x8c/0x248 load_module+0x12b8/0x15b0 sys_finit_module+0xa8/0x110 system_call+0x58/0x6c --- Exception: c00 (System Call) at 00007fff8bda0644 SP (7fffdfbfe980) is in userspace This patch fixes this issue. Fixes: a08a53ea4c97 ("powerpc/le: Enable RTAS events support") Cc: stable@vger.kernel.org # v3.15+ Reviewed-by: Nicholas Piggin Signed-off-by: Mahesh Salgaonkar Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman --- arch/powerpc/platforms/pseries/ras.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -300,7 +300,7 @@ static struct rtas_error_log *fwnmi_get_ } savep = __va(regs->gpr[3]); - regs->gpr[3] = savep[0]; /* restore original r3 */ + regs->gpr[3] = be64_to_cpu(savep[0]); /* restore original r3 */ /* If it isn't an extended log we can use the per cpu 64bit buffer */ h = (struct rtas_error_log *)&savep[1];