Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3400487ybp; Sun, 6 Oct 2019 11:05:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqzSIpm+Cq5RBtzVRAwFHpCuDojlrFJAfOSHeXiAEvPvjmDMJyPKW66aNGhQsGfasNLNf6ye X-Received: by 2002:a05:6402:1688:: with SMTP id a8mr25006458edv.225.1570385150761; Sun, 06 Oct 2019 11:05:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570385150; cv=none; d=google.com; s=arc-20160816; b=t58Wep6Bhkl+jeDhFKT6FMsCrvOJTctQpT6o/OS4AfkPWwGwKNbTGr8Sr6ad7I6OsH 1gzzYo2JpRGgxLIxKKlRCnLvtu2jAZeSoQCc0oXwKx/rRNnzRMwlSW8VDqnVXirijzSJ McKVSH6HG7qfVtDrYy3xQ2AQk2qfEnggUXNH0QwRGvF1FOIinHCLAkziC33xFnPUlPaF RzSuiyA7kpWlUxByr3VNbrNvTrps5jgw/85rFDWJMEo5g+gebJtlrx0/yHrczpjR/uh+ NM5LJ1XFf0/syELidFKIznFweWadImZ6btEX3l/TALG0MnGD7K0/tEvIKWkoFKFLfXbZ sCmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8/FENpS/9QXNtpmdd7g4pwn0XocO9LcOWVh2ZQU00vE=; b=oDuZz2SPQtuWd3wENaEK+BWO5TlgOf6RgzC14iZJ04kG9xlhPuCSm9fDdpuh7s6WB1 LSWDBSFCDq20royZToS5iv9Y++5wdfACY+YsO7/Lim7spTsLWyBKnkFCQg+2pcSsyNXZ QCE6x8wCiXTm5YblmATM6I4n0vKD+lhQ5wbOsnI/nE17PflbHYRHw/Tylst2WYcbjlI3 3H8139nqOZRp907hllcsHQ4QrmJSwZ7jUiYAk6N6IAb6tsBUgSfniU5TaOK0p8//4Z8r ckuDs3cmaQRvgcCJzB09KIpumumitz5Of/eX7ruH6XcXbdV8y2K8+gi1Bo/KL2fiyXui hs7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="xbU42G/I"; 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 v19si5864050eja.352.2019.10.06.11.05.27; Sun, 06 Oct 2019 11:05:50 -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="xbU42G/I"; 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 S1728112AbfJFSCk (ORCPT + 99 others); Sun, 6 Oct 2019 14:02:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:50740 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728096AbfJFRZp (ORCPT ); Sun, 6 Oct 2019 13:25:45 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 1ACDA2077B; Sun, 6 Oct 2019 17:25:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570382743; bh=z9UtvtB1+9egErQtQisaNM4KXdtr1rv4rpMpXyL4+Ko=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xbU42G/IcSzBVv/2TasmUUZSC/AuwERGqrkLgxSsFcSdCfHc9RqpfFSxWRrvw03gp hIEcHRJ6u/ImWdQRTOLzEoYX+SBuuT53ZmvFmXmroPvrjItd6RMPr8OAtbRl8f3/Iw J0hbcLrUPlU+lEiLuNkLkG51FBrQ+4bZ7lfavHrY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nicholas Piggin , Michael Ellerman , Sasha Levin Subject: [PATCH 4.14 23/68] powerpc/64s/exception: machine check use correct cfar for late handler Date: Sun, 6 Oct 2019 19:20:59 +0200 Message-Id: <20191006171118.849635053@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171108.150129403@linuxfoundation.org> References: <20191006171108.150129403@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nicholas Piggin [ Upstream commit 0b66370c61fcf5fcc1d6901013e110284da6e2bb ] Bare metal machine checks run an "early" handler in real mode before running the main handler which reports the event. The main handler runs exactly as a normal interrupt handler, after the "windup" which sets registers back as they were at interrupt entry. CFAR does not get restored by the windup code, so that will be wrong when the handler is run. Restore the CFAR to the saved value before running the late handler. Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20190802105709.27696-8-npiggin@gmail.com Signed-off-by: Sasha Levin --- arch/powerpc/kernel/exceptions-64s.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index 43cde6c602795..cdc53fd905977 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -464,6 +464,10 @@ EXC_COMMON_BEGIN(machine_check_handle_early) RFI_TO_USER_OR_KERNEL 9: /* Deliver the machine check to host kernel in V mode. */ +BEGIN_FTR_SECTION + ld r10,ORIG_GPR3(r1) + mtspr SPRN_CFAR,r10 +END_FTR_SECTION_IFSET(CPU_FTR_CFAR) MACHINE_CHECK_HANDLER_WINDUP b machine_check_pSeries -- 2.20.1