Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2195170imm; Mon, 28 May 2018 03:42:29 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq7MhM2orLDqPknjfSv6fdNN6BYeZfKsdkKTDedy4AATT19WoyQ8eR1Ni7kbwoR0AVDTZon X-Received: by 2002:a17:902:2c83:: with SMTP id n3-v6mr12860020plb.211.1527504149035; Mon, 28 May 2018 03:42:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527504149; cv=none; d=google.com; s=arc-20160816; b=arejo/HgXrmQMPfh6X/TuPoeGUdRJ9suTiTHjBJEotRqO9v+0gW0ScNj1fFzXfRmiS /RFLywuGS7lPRmjZpEr+HbJJTQYs6eYXwVW0oiN3pLBnNfa7ZGW9zE9HgRkj0xZnWmx3 u2aATvhckEW2cW/l9LEVo3PEyNa8RgOyoULCfaot6ePZ3rQo1fopor3qa1QLd2Cgstbe 8R5qqw/u/+9j/h2rXFvXENj0EcspmovdV9wXTpbiRPf4QDoxXXD19pgyNHm5XNicSGdv zBdBjlK3BOgx6dNPZ4odBG0Wvw2ZY9MKwZAg96Bv1XV4da2H4maXiVJjt3kCo2FA8bWK mRDw== 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=7dSDzMP1ZyALuUgqCYy5bigDcwLX6HzxaV0RtrBgDiE=; b=mu3jznd7IQP0Os7zAtMsrjj0h4RYmVq6c0ENYSP7nxkT1AnqKnYlejyQUrS3zVibRc WIixfK4DpPVB50Y331jFpkEB9Qx0gl8ufefp8LShAXy0lqBfdhdqqxuqMB0rQ5BAltmT 6QklBweFhzbJDJjf66Q1M2nqpGz46sHRbqGX1g8p/OsiusvfAcVmks3FpKSRjWYPbAyb MTCkUlTXa3KkHtVlGv7qk/rzIT1GA/KpkYqZFcMX6vKdVwAOZn38xS/DcxIjD4ISlxS8 DHSYSl8csxTJdMJQAwNrTjKwOXEgzAHLOrBe16x1FRLjXWO7s5YVD9MOUO1Xk17VBCgK Jteg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b4KTOzvI; 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 s83-v6si30277023pfg.175.2018.05.28.03.42.13; Mon, 28 May 2018 03:42:28 -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=b4KTOzvI; 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 S1163049AbeE1Klz (ORCPT + 99 others); Mon, 28 May 2018 06:41:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:33312 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1163025AbeE1Klv (ORCPT ); Mon, 28 May 2018 06:41:51 -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 97CC820883; Mon, 28 May 2018 10:41:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527504111; bh=MYkG7xcjPkFn5cS8JAZLkui4CVY8YpgxlhcGJOoYpcg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b4KTOzvImZaWO1Y/hkeyN7aaY/bwfGA5Qp6kxuIg4pT/nRv2EYPhECRGvdziVveqk fpe1dOYG1B87Evwr9XCII3joIv92QvKhxZlpEeIZLlcDKZbpwUaiIIYaIIVZ4qjeU2 jxJyRWkbQxtuTJBp27Gds65tq7ycP5XLn4d7t1Mk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Neuling , Michael Ellerman Subject: [PATCH 4.14 018/496] powerpc/64s: Clear PCR on boot Date: Mon, 28 May 2018 11:56:43 +0200 Message-Id: <20180528100320.356303494@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@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.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Michael Neuling commit faf37c44a105f3608115785f17cbbf3500f8bc71 upstream. Clear the PCR (Processor Compatibility Register) on boot to ensure we are not running in a compatibility mode. We've seen this cause problems when a crash (and kdump) occurs while running compat mode guests. The kdump kernel then runs with the PCR set and causes problems. The symptom in the kdump kernel (also seen in petitboot after fast-reboot) is early userspace programs taking sigills on newer instructions (seen in libc). Signed-off-by: Michael Neuling Cc: stable@vger.kernel.org Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman --- arch/powerpc/kernel/cpu_setup_power.S | 6 ++++++ arch/powerpc/kernel/dt_cpu_ftrs.c | 1 + 2 files changed, 7 insertions(+) --- a/arch/powerpc/kernel/cpu_setup_power.S +++ b/arch/powerpc/kernel/cpu_setup_power.S @@ -28,6 +28,7 @@ _GLOBAL(__setup_cpu_power7) beqlr li r0,0 mtspr SPRN_LPID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR li r4,(LPCR_LPES1 >> LPCR_LPES_SH) bl __init_LPCR_ISA206 @@ -42,6 +43,7 @@ _GLOBAL(__restore_cpu_power7) beqlr li r0,0 mtspr SPRN_LPID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR li r4,(LPCR_LPES1 >> LPCR_LPES_SH) bl __init_LPCR_ISA206 @@ -59,6 +61,7 @@ _GLOBAL(__setup_cpu_power8) beqlr li r0,0 mtspr SPRN_LPID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR ori r3, r3, LPCR_PECEDH li r4,0 /* LPES = 0 */ @@ -81,6 +84,7 @@ _GLOBAL(__restore_cpu_power8) beqlr li r0,0 mtspr SPRN_LPID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR ori r3, r3, LPCR_PECEDH li r4,0 /* LPES = 0 */ @@ -103,6 +107,7 @@ _GLOBAL(__setup_cpu_power9) mtspr SPRN_PSSCR,r0 mtspr SPRN_LPID,r0 mtspr SPRN_PID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR LOAD_REG_IMMEDIATE(r4, LPCR_PECEDH | LPCR_PECE_HVEE | LPCR_HVICE | LPCR_HEIC) or r3, r3, r4 @@ -128,6 +133,7 @@ _GLOBAL(__restore_cpu_power9) mtspr SPRN_PSSCR,r0 mtspr SPRN_LPID,r0 mtspr SPRN_PID,r0 + mtspr SPRN_PCR,r0 mfspr r3,SPRN_LPCR LOAD_REG_IMMEDIATE(r4, LPCR_PECEDH | LPCR_PECE_HVEE | LPCR_HVICE | LPCR_HEIC) or r3, r3, r4 --- a/arch/powerpc/kernel/dt_cpu_ftrs.c +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c @@ -137,6 +137,7 @@ static void __restore_cpu_cpufeatures(vo if (hv_mode) { mtspr(SPRN_LPID, 0); mtspr(SPRN_HFSCR, system_registers.hfscr); + mtspr(SPRN_PCR, 0); } mtspr(SPRN_FSCR, system_registers.fscr);