Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2214822imm; Mon, 28 May 2018 04:06:08 -0700 (PDT) X-Google-Smtp-Source: AB8JxZp8lOp+aTZulJQ3+bt+O98BxtMDvvc47zmp2WludSuXsmZ84+rgC0YDYMco6AuHqd4TnMHa X-Received: by 2002:a63:7c04:: with SMTP id x4-v6mr10120413pgc.67.1527505568916; Mon, 28 May 2018 04:06:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527505568; cv=none; d=google.com; s=arc-20160816; b=ZouWI6U8T8JH8Th3lAq/6vZc8oX2Nt/sM2hyheH0Q0Nu7sWDqgGnXLNQtwvgWZTKye x5NAcehX4QZeCQB3M+mPvy9A1ymXcbjVtLZf+P3ZnnNGPi4h+3F4zQTgStxmK/1dddbO QcZgqFOFipbyAXK3nSVy8C/NaThsDlBZdsfJV+R9HcpRutxBRaxH+uwmbKL33N7iKxJa FqFAzh+Hutc2qfGb7HjRKmTfo762rp10kmPtqnND1p7F0aypGXnvxdw9nocT3hUH6LiE yYyLNZP51Ka891joJZb61uJ9JWFUWjTCnypPZTjUugS54vEuf+SHYplxvBVY7oovzAdN vLBw== 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=F+Pgjt9AEggkvLV35UMLzjn9AKVrtqgQDkp3wUfHRbg=; b=OFKV2ziNg9a+YeYgZKdQWXe4izMC90d8elVOYbK8/ae1oyXGqIh/Vr1h37ZOD/EPhS dNwfZyRy/fXm42GvANLGRY2qyvcKKhapoKQY3tzfe1X4DxZp9azL2TQ89HWrsIfB4BTq shAdU2M50ADGhzHwIyBdM0iM87VY+SpcuLn1mD5ugWS5YQiNy7Qmas8EcufFv5Q1e3mi w5rRmStklAJ+bmMCCEImNuOYA+f6rAYIcjPgS21Ki4J6HJKB6GcQg7UZksKoYuEvBeWh Ps4Q24nv49zBQrpkhQCNer/DWiANvtzktLGNpljetGaNKghgjW2leIy4tI+yKDsNYADK J6mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=U3fNtmwX; 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 k8-v6si23569193pgo.311.2018.05.28.04.05.53; Mon, 28 May 2018 04:06:08 -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=U3fNtmwX; 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 S1423094AbeE1LFO (ORCPT + 99 others); Mon, 28 May 2018 07:05:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:52116 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1165050AbeE1LFB (ORCPT ); Mon, 28 May 2018 07:05:01 -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 DCF3E2087E; Mon, 28 May 2018 11:05:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527505501; bh=ABNNjeqQ78nB3ayxBtoE57Z9E9QGjeNp2cY1Xze4ZUw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U3fNtmwXbe07JSv1iOBUVdG+aOvVTSNSgjgXPylsU12YCqxa/vJ2LZ3i+LK+NxSjP /njFwHXC5RgiQ/YXPXkbYKKiiJZXZFGzTW6yJiPRkuDykuGG6KD/IkZCf90J2CCBdp 2GtJ4KTagyG+oI7mGnnBppYYjLSx/o3HGoR0oIk0= 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.16 026/272] powerpc/64s: Clear PCR on boot Date: Mon, 28 May 2018 12:00:59 +0200 Message-Id: <20180528100242.815290603@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@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.16-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 @@ -41,6 +42,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 @@ -57,6 +59,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 */ @@ -78,6 +81,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 */ @@ -99,6 +103,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 @@ -123,6 +128,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 @@ -114,6 +114,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);