Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp5565117pxu; Tue, 22 Dec 2020 22:50:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJyr7mZ0Hm/FMPjU6Yi2BBQpDHx1jl1v4N4J8VgngczdreRtDqfWWHqfj1kSSoISYHXryyoq X-Received: by 2002:a05:6402:c95:: with SMTP id cm21mr23644428edb.294.1608706241001; Tue, 22 Dec 2020 22:50:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608706240; cv=none; d=google.com; s=arc-20160816; b=rwc4xpx9tZkr9mTijTLDsbEyevo+tRqYJd0JbhZn6bdR3QlybrYxq5PpAwgBljExzg mt4HxHv3OIBDLmVL0ifgVzTEl8yCzKwR8B/rLOaHqZuCNi2InyjcC6viNme3+Yb2alVE Xw/g2yB8KagrC/9SHqOmjSyBc+NTcym1ha+weY69STdt07JWBTOTwWoQ0XV5KyUOHHl3 aWdCZjXCBK8biWLjRbJAVFY/BNbusBwrqoNiLxcPIpxH4/3RYZ6s8YLTYKQ0lX2DBr5K +mDblRhYqA67HQcKU2JjfTGWiUdwAGwXVmd6t6kYCMR2UCu04eNv+D0jGuq+xnKKi5EZ EoYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:from:subject; bh=yfovLgDqCrwOy966ePrJitsE818blLXe38Fd2Hz747U=; b=LRVsyG1mrAOS7TWgQMExoE1ZUCMpxMQoQ40W6OrNxBTNq3OGff8BeNHK8DjazUNKOo uFy+9HPVF5zVaaLeTO3xWw0PJyTh3W7ApHKzB1RyDtZICRHQiZstVSLQBg5r4cm3m+oK wYMQvubFfXZlN0N9XNbyGb/8RQgrf0ZrYfqv1Al5CAFL/S/3HLlh8EOaQ9uNxRRN9rYr rbXMb/Yl/yFKLqPWipgj91m7SW8g/ynyXJ2f80nzMZtM/8RzYy9geSG7d5p6dtVUL9Nc dpsuWBn7LXkyZpE/eA5JKYsDk9V8OKJD5e41M/8y/EPT3qYffSZZOLl1OjCxH0KU3PiW /fYA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r17si14201065edq.47.2020.12.22.22.50.18; Tue, 22 Dec 2020 22:50:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727029AbgLWGsx (ORCPT + 99 others); Wed, 23 Dec 2020 01:48:53 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:30565 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726844AbgLWGsx (ORCPT ); Wed, 23 Dec 2020 01:48:53 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4D13gY3z92z9v0Pt; Wed, 23 Dec 2020 07:48:09 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id c4hFcbjmvPbH; Wed, 23 Dec 2020 07:48:09 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4D13gY2VkQz9v0Ps; Wed, 23 Dec 2020 07:48:09 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 3A9A58B783; Wed, 23 Dec 2020 07:48:10 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id SMRvtiXKDCs8; Wed, 23 Dec 2020 07:48:10 +0100 (CET) Received: from [192.168.4.90] (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id ADDED8B75F; Wed, 23 Dec 2020 07:48:09 +0100 (CET) Subject: Re: [PATCH] powerpc/32s: Fix RTAS machine check with VMAP stack From: Christophe Leroy To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org References: Message-ID: <6ed0b74d-8d01-4a20-faed-891496fb77b4@csgroup.eu> Date: Wed, 23 Dec 2020 07:48:03 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 22/12/2020 à 08:11, Christophe Leroy a écrit : > When we have VMAP stack, exception prolog 1 sets r1, not r11. But exception prolog 1 uses r1 to setup r1 when machine check happens in kernel. So r1 must be restored when the branch is not taken. See subsequent patch I just sent out. Christophe > > Fixes: da7bb43ab9da ("powerpc/32: Fix vmap stack - Properly set r1 before activating MMU") > Fixes: d2e006036082 ("powerpc/32: Use SPRN_SPRG_SCRATCH2 in exception prologs") > Cc: stable@vger.kernel.org > Signed-off-by: Christophe Leroy > --- > arch/powerpc/kernel/head_book3s_32.S | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/powerpc/kernel/head_book3s_32.S b/arch/powerpc/kernel/head_book3s_32.S > index 349bf3f0c3af..fbc48a500846 100644 > --- a/arch/powerpc/kernel/head_book3s_32.S > +++ b/arch/powerpc/kernel/head_book3s_32.S > @@ -260,9 +260,16 @@ __secondary_hold_acknowledge: > MachineCheck: > EXCEPTION_PROLOG_0 > #ifdef CONFIG_PPC_CHRP > +#ifdef CONFIG_VMAP_STACK > + mtspr SPRN_SPRG_SCRATCH2,r1 > + mfspr r1, SPRN_SPRG_THREAD > + lwz r1, RTAS_SP(r1) > + cmpwi cr1, r1, 0 > +#else > mfspr r11, SPRN_SPRG_THREAD > lwz r11, RTAS_SP(r11) > cmpwi cr1, r11, 0 > +#endif > bne cr1, 7f > #endif /* CONFIG_PPC_CHRP */ > EXCEPTION_PROLOG_1 for_rtas=1 >