Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4311892pxu; Tue, 20 Oct 2020 13:43:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyYn+tsyEsUK3uR2VbWekbj27NWp0fyRo4p0ugaUJyWOMBBKWmHG5z3SuMm+5ez6azy4Cso X-Received: by 2002:aa7:d394:: with SMTP id x20mr4728492edq.14.1603226613950; Tue, 20 Oct 2020 13:43:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603226613; cv=none; d=google.com; s=arc-20160816; b=dd476SkS4VAKvhSQjTmGu3e/qgNQrH1uiqXGQtnPHn/4HoFIPpgMpGjiNlGKivmYFt /RXz2ZH5YhTzyWXBC2kQYPAHQU2CQLxe9mpfuW47oIQcynWQ14AitW7ccKcobJa/Folv NkSLYt1fsVV4whCk8loCLrn3UTW43Bp7RhfjUm1sVLIdjZ6ba/XrcNzvsd55AgESq2sq 8niFo2S4j7onxB/NhNiLVurrFeQN+KyoT31jimt6md8vUpxOVGJP58bd18XZqrIly3bA C91tFliovEkr1Ky1o9b2cd7b5EKMomFVqjhqL9cR8N+YnOaQVUWfWT7ad/+2r0UqXUCn 1v+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:cc:to:subject:from:references:in-reply-to :message-id; bh=b83iFTSoACChWPDLUdGngpg55aJyvLcvMJ0ZR6QlmBY=; b=VqiSaY/5adBS4uPYg9LUCy/31EN1cwTJzEYL68oTDAWZT8ditL32CFfBIu/p0HQ/Bh DSPhn7yCEethx2aCi5UFBWN0o8A2TTMvAbB0opXIj9fRrQy+FbH0kHtz4+7Ff+NSJ+cC KephUc8keoSiYZ2dAocEk5f9oal2mTnOeJwnrze+d+eL38tv3RqzxkMCeZy8Zb71utQ7 MrYGJdlVX8nZGpzS+jo4Fll3Ts5BbQHlESDU2LywP14yab9fC3DfKWNMixFCpbHlPgBY gF+Hgjfj2GoHbl84V3F2NFH8QbeaR14bhCIET0MdrJpI9usOiEizLnOu+4IDTxQmH8xt 8Qqw== 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 q10si2422534edn.244.2020.10.20.13.43.12; Tue, 20 Oct 2020 13:43:33 -0700 (PDT) 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 S2405311AbgJTHkS (ORCPT + 99 others); Tue, 20 Oct 2020 03:40:18 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:27408 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728102AbgJTHkM (ORCPT ); Tue, 20 Oct 2020 03:40:12 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4CFls43Vd4z9tydK; Tue, 20 Oct 2020 09:40:08 +0200 (CEST) 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 HWMKYT5FxUBc; Tue, 20 Oct 2020 09:40:08 +0200 (CEST) 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 4CFls40KhWz9tydG; Tue, 20 Oct 2020 09:40:08 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 0FBE78B7CB; Tue, 20 Oct 2020 09:40:09 +0200 (CEST) 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 mQk_exHtjAxz; Tue, 20 Oct 2020 09:40:08 +0200 (CEST) Received: from po17688vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 9A7988B767; Tue, 20 Oct 2020 09:40:08 +0200 (CEST) Received: by po17688vm.idsi0.si.c-s.fr (Postfix, from userid 0) id 7F32F667B6; Tue, 20 Oct 2020 07:40:08 +0000 (UTC) Message-Id: <3132ca9560e41676551491407b6be851045f69e3.1603179582.git.christophe.leroy@csgroup.eu> In-Reply-To: <212d3bc4a52ca71523759517bb9c61f7e477c46a.1603179582.git.christophe.leroy@csgroup.eu> References: <212d3bc4a52ca71523759517bb9c61f7e477c46a.1603179582.git.christophe.leroy@csgroup.eu> From: Christophe Leroy Subject: [PATCH v2 2/3] powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , mathieu.desnoyers@efficios.com Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Tue, 20 Oct 2020 07:40:08 +0000 (UTC) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mathieu Desnoyers The placeholder for instruction selection should use the second argument's operand, which is %1, not %0. This could generate incorrect assembly code if the memory addressing of operand %0 is a different form from that of operand %1. Fixes: 9bf2b5cdc5fe ("powerpc: Fixes for CONFIG_PTE_64BIT for SMP support") Signed-off-by: Mathieu Desnoyers Cc: Christophe Leroy Cc: Kumar Gala Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Cc: # v2.6.28+ Acked-by: Segher Boessenkool [chleroy: revised commit log iaw segher's comment] Signed-off-by: Christophe Leroy --- v2: Changed commit log. --- arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +- arch/powerpc/include/asm/nohash/pgtable.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h index 36443cda8dcf..34f5ca391f0c 100644 --- a/arch/powerpc/include/asm/book3s/32/pgtable.h +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h @@ -524,7 +524,7 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr, __asm__ __volatile__("\ stw%U0%X0 %2,%0\n\ eieio\n\ - stw%U0%X0 %L2,%1" + stw%U1%X1 %L2,%1" : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) : "r" (pte) : "memory"); diff --git a/arch/powerpc/include/asm/nohash/pgtable.h b/arch/powerpc/include/asm/nohash/pgtable.h index 4b7c3472eab1..a00e4c1746d6 100644 --- a/arch/powerpc/include/asm/nohash/pgtable.h +++ b/arch/powerpc/include/asm/nohash/pgtable.h @@ -199,7 +199,7 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr, __asm__ __volatile__("\ stw%U0%X0 %2,%0\n\ eieio\n\ - stw%U0%X0 %L2,%1" + stw%U1%X1 %L2,%1" : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) : "r" (pte) : "memory"); return; -- 2.25.0