Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3392439ybp; Sun, 6 Oct 2019 10:56:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqzD+e7HWx0x/O2qoEaIwQ1ypt3Ua3KBPd91F3XPp4baX70nljfrNBbDwOaSPi0bspZGPX9g X-Received: by 2002:a05:6402:1426:: with SMTP id c6mr26377348edx.53.1570384590288; Sun, 06 Oct 2019 10:56:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570384590; cv=none; d=google.com; s=arc-20160816; b=eWeNznJCr69JaeCYTJ0eHNKL0JI++rVNr95uqO8n4HRVSepRx9aioZQ38lAUOYFKT8 WdgOwLZh4Isynx9BbPwkbkhharDoTpUUS7PjEnqVkhhmkbvYhWwAR6GSxAHg/Qfk93PM Bt5YCS7wAs1n7sH2cTf9l+Vgwjx0m9y4DUDRBXirBBekC9DZsWprVi7Qx5bV16dB4aWL Jr639HBtYt87wrMNuTCKOz93dKiDScuRHUs+snd576NIa7mfVRJk2aygUPlQadasEyNK oIaGCHg68DpbNOh/HThR1W86GgT8laJOqUcapzaAuNgVYRm1RWBVx5vM/PN7GhERPrhI Np4A== 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=FfuiY1G6U8gBNWqkq3z3xaQ87v84K3s1bgcWTFyZ/pw=; b=jmYdRpCrVJWJymJ2JOyZht+wT/Gxa8tCeK1vJB5uq0MOzYcfvca1Ga5KvSXe6GmH3y LYa572dwpDFs5wDFAxiwkrcDjh5Y4dbxI5ILzGJyQg0FOjeJpf4r+a6Td/Du4xOilB1L ACYHP0XSgupPx87s10PLxZl58CdLAzP1UgXFgpzdX03XF8HaKHUIGL4YOTP0iWBWGji0 8LUriJRcBsv/gvdqZet87/ChVNnMRsL1wqq5y+HmmZIY790jmpVrzNwPSxII5jpQbm7Q ECCfG1t6d8O03+JGBWMN4My71u0Og8omYsExiLTnteClrD4JTP0bg4nsGQPKoPgpUq/k /FYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ofGjXst+; 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 f19si7745863edb.385.2019.10.06.10.56.06; Sun, 06 Oct 2019 10:56:30 -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=ofGjXst+; 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 S1729530AbfJFR4B (ORCPT + 99 others); Sun, 6 Oct 2019 13:56:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:34620 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730197AbfJFRfw (ORCPT ); Sun, 6 Oct 2019 13:35:52 -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 50CC420700; Sun, 6 Oct 2019 17:35:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570383351; bh=rw0M3hU1/HSB1mQjLr2buYFplI2O1DdSeXSivKzTA9w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ofGjXst+7oqGoFCmA+FjeTnI6htHKUQ0KsFgahDBGkxCBnoTHYI6teJwfVycvtJJ6 nCRfXKyq8b+1WeGkHQhoWQbI5E3rw4yz7kxkkRmnwXBc11czBc9C95rQcaq/GgdV0k kTq/X/BblCxc6mcyzViRew+XU4qTdzHoR5F2qGB8= 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 5.2 071/137] powerpc/64s/exception: machine check use correct cfar for late handler Date: Sun, 6 Oct 2019 19:20:55 +0200 Message-Id: <20191006171215.062022750@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171209.403038733@linuxfoundation.org> References: <20191006171209.403038733@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 6c51aa845bcee..3e564536a237f 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -556,6 +556,10 @@ FTR_SECTION_ELSE ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE) 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 SET_SCRATCH0(r13) /* save r13 */ EXCEPTION_PROLOG_0(PACA_EXMC) -- 2.20.1