Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp500953ybl; Wed, 29 Jan 2020 04:36:04 -0800 (PST) X-Google-Smtp-Source: APXvYqyXUzEWW/I8P+e6dpAV4cty9/ub4K6+q3yNeG4B/8u90oUHQ/PLpo9vBo6DZZcLtvmG0CTi X-Received: by 2002:aca:e189:: with SMTP id y131mr5922875oig.111.1580301363796; Wed, 29 Jan 2020 04:36:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580301363; cv=none; d=google.com; s=arc-20160816; b=off6T+zlYKLTNq10s7QMjnPZaydw+Sf+I+LmuYzHsxffUBdPpWLn7+UA+lpO4CZAAn atiAh+lnFGb+utb5GvZuT1bRkyC6IU5+DqQC+FnhxOmTKBAHde5RFIC0sJZWFTUWKtRE q0ZDNxoSOJPOKFNXS3DlBVQL8caKiqjJWDETxYISD6wS92lFpkR8XDrhGZAvkwOgRSOQ J5ZBv7uzF7lX+dTlORC19iqM0V27u2YrWh4sLEUEcUyTOC3BibBOR818uj/9oy2Tfuau xNK48mJrJUu9WqNqOzqu6/PqVsaPYmZleFpr7xEoFUXR3OfxkaRIB9doB8kHDOTG2LlC WFfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:message-id :dkim-signature; bh=pguVXdOhkyypdIZhHe1n3i7XEXX+yG1raLA7WsBiY2c=; b=B4Z05oZZ4qGHvGfvH0A92YRai62qq5cQZpBiGzok1xPrfrGQLdUK19BmNPWHu2mvM2 uN6jeoD12EY4otwDzAYR+/4Rvhebv0k2BRvQPoMmOuZbVDU21f4zidCoQPU4qQCv04Y6 WvLY5wzIi/z0rtLwNGIlN1KTHyIKQzkrTlldjIWGCQRJ4/rmtCB19D1KcpdpIqYKjC8w Jt7ozEs2yUFl1CkcoczStx/g4wE9XHRbBdcwgSEe6rXi1JfsYhWFt2XtosVBkIGbHBGL GeGBrurhnaZuOl7P4zI5IJoA5CHTXLtXP/j+IfM9n0ecGLP5jpX0Oi086EdGM30BWix3 Uf0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=l3nV9ySF; 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 t128si986330oie.176.2020.01.29.04.35.51; Wed, 29 Jan 2020 04:36:03 -0800 (PST) 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=@c-s.fr header.s=mail header.b=l3nV9ySF; 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 S1726713AbgA2Mej (ORCPT + 99 others); Wed, 29 Jan 2020 07:34:39 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:59177 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726260AbgA2Mej (ORCPT ); Wed, 29 Jan 2020 07:34:39 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4872x84Y4Lz9tx92; Wed, 29 Jan 2020 13:34:36 +0100 (CET) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=l3nV9ySF; dkim-adsp=pass; dkim-atps=neutral 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 uH-i69bvoEWL; Wed, 29 Jan 2020 13:34:36 +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 4872x83HG1z9tx91; Wed, 29 Jan 2020 13:34:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1580301276; bh=pguVXdOhkyypdIZhHe1n3i7XEXX+yG1raLA7WsBiY2c=; h=From:Subject:To:Cc:Date:From; b=l3nV9ySFTQoaYWheRtSLpxXQWqDGTF+7CTkVzroN17yb2abpx51Sg/dbEkTnsIVbk GtQOxks2plKz5QZekbeokoSW1Bnpd8AO3Xe8erFZ1ECC8pknxQ0FATIm6ekInrAo1a WTX3EkLwQWhOYOha5WxJJc1ramrscA9+ArL7eUBw= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id BCB268B81C; Wed, 29 Jan 2020 13:34:37 +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 buSXGuoXKh3u; Wed, 29 Jan 2020 13:34:37 +0100 (CET) Received: from po14934vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 6F00F8B815; Wed, 29 Jan 2020 13:34:37 +0100 (CET) Received: by po14934vm.idsi0.si.c-s.fr (Postfix, from userid 0) id 05B396523E; Wed, 29 Jan 2020 12:34:36 +0000 (UTC) Message-Id: From: Christophe Leroy Subject: [PATCH] powerpc/32s: Fix kasan_early_hash_table() for CONFIG_VMAP_STACK To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Wed, 29 Jan 2020 12:34:36 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On book3s/32 CPUs that are handling MMU through a hash table, MMU_init_hw() function was adapted for VMAP_STACK in order to handle virtual addresses instead of physical addresses in the low level hash functions. When using KASAN, the same adaptations are required for the early hash table set up by kasan_early_hash_table() function. Fixes: cd08f109e262 ("powerpc/32s: Enable CONFIG_VMAP_STACK") Signed-off-by: Christophe Leroy --- arch/powerpc/mm/kasan/kasan_init_32.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/mm/kasan/kasan_init_32.c b/arch/powerpc/mm/kasan/kasan_init_32.c index d3cacd462560..16dd95bd0749 100644 --- a/arch/powerpc/mm/kasan/kasan_init_32.c +++ b/arch/powerpc/mm/kasan/kasan_init_32.c @@ -185,8 +185,11 @@ u8 __initdata early_hash[256 << 10] __aligned(256 << 10) = {0}; static void __init kasan_early_hash_table(void) { - modify_instruction_site(&patch__hash_page_A0, 0xffff, __pa(early_hash) >> 16); - modify_instruction_site(&patch__flush_hash_A0, 0xffff, __pa(early_hash) >> 16); + unsigned int hash = IS_ENABLED(CONFIG_VMAP_STACK) ? (unsigned int)early_hash : + __pa(early_hash); + + modify_instruction_site(&patch__hash_page_A0, 0xffff, hash >> 16); + modify_instruction_site(&patch__flush_hash_A0, 0xffff, hash >> 16); Hash = (struct hash_pte *)early_hash; } -- 2.25.0