Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1410365ybt; Thu, 2 Jul 2020 04:53:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJywwnD/1OJPLe9IBJDRESdYEeMOzBEe82TmIBGEfuSuP8lNRHtvcmnQzQHESsDHmeDTIRSx X-Received: by 2002:a05:6402:203c:: with SMTP id ay28mr23960109edb.271.1593690801243; Thu, 02 Jul 2020 04:53:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593690801; cv=none; d=google.com; s=arc-20160816; b=J0GMwilNpF9MvnAqQWn8bfUH/8s+zRaYU/Oz/u5Zl48aekL/FI0Jyrp7RU7GH9NozJ FuYaj2GkpgELapkW7mhBa3Oin7G7bGGlon9tL3XMnJTYSjawR5e8dxy0v3zNvY2rDAuL 316Bhnb+ZJIkkNehlpVV5XltEmK6e9kVaqsExrtNw2KtR3nmMsXFuH4npQm0X3o8RRC8 Qy1DCuug1QyZYRdas38dWpOQIcri+jZKzHlptK1UBBjchjl5ffYm0o/O1eKIqK7MJCwA UHEz/bhwdoB7oE2y9yE0fn18SgxuusK2QX2ORdy+ZONiLjFR8f7N6zndXiZHaxguafb5 DUoA== 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; bh=pRr6YLzfhsPuZXNj4X/6zUocZdkeIPZfhtLN8o06wUQ=; b=G+y9n7lMIkdXgahmu70bsuQM7P7KF3EPW9lMWQOlhkhnjLZGebRQsAb+MVHz3g/3wh CUdy1Gteko/Kfxd7hFX4GQ8UR7ddygYhKRgR6xx4FISrJLJepa88WA49883YVWvbDJGi 4+VSGdaS3na13TZEoa1e1gTm3gWM0wmiPcMKsBFQIz4Db7bkt/KyIetY1V4t2yTR5sAG MMQrB6RWbETGiyldN6UhowA4AiVTxbmKI8P0fIqwfYdPzN9btowCyC1uySXuGuW5ddCN gvZaU2yAOxCSwIMdHJhxsUaVH21nO+VqQ9sJhpJ+tYaDpM/4apE0p9ZnWSQojrME8Z3Z XDYg== 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 q17si5668503edc.298.2020.07.02.04.52.58; Thu, 02 Jul 2020 04:53:21 -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 S1728719AbgGBLwG (ORCPT + 99 others); Thu, 2 Jul 2020 07:52:06 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:2105 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728388AbgGBLwG (ORCPT ); Thu, 2 Jul 2020 07:52:06 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 49yGfT2v0Sz9v2nB; Thu, 2 Jul 2020 13:52:01 +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 xtqwurSz25b4; Thu, 2 Jul 2020 13:52:01 +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 49yGfT1kTxz9v2n9; Thu, 2 Jul 2020 13:52:01 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 0ECF18B99A; Thu, 2 Jul 2020 13:52:03 +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 6epQhKbCo4iF; Thu, 2 Jul 2020 13:52:02 +0200 (CEST) Received: from po16052vm.idsi0.si.c-s.fr (po15451.idsi0.si.c-s.fr [10.25.210.22]) by messagerie.si.c-s.fr (Postfix) with ESMTP id DA4138B98D; Thu, 2 Jul 2020 13:52:02 +0200 (CEST) Received: by po16052vm.idsi0.si.c-s.fr (Postfix, from userid 0) id B0F7C652C1; Thu, 2 Jul 2020 11:52:02 +0000 (UTC) Message-Id: <3667deb0911affbf999b99f87c31c77d5e870cd2.1593690707.git.christophe.leroy@csgroup.eu> From: Christophe Leroy Subject: [PATCH 1/2] Revert "powerpc/kasan: Fix shadow pages allocation failure" To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , erhard_f@mailbox.org Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Thu, 2 Jul 2020 11:52:02 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit d2a91cef9bbdeb87b7449fdab1a6be6000930210. This commit moved too much work in kasan_init(). The allocation of shadow pages has to be moved for the reason explained in that patch, but the allocation of page tables still need to be done before switching to the final hash table. First revert the incorrect commit, following patch redoes it properly. Reported-by: Erhard F. Link: https://bugzilla.kernel.org/show_bug.cgi?id=208181 Fixes: d2a91cef9bbd ("powerpc/kasan: Fix shadow pages allocation failure") Cc: stable@vger.kernel.org Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/kasan.h | 2 ++ arch/powerpc/mm/init_32.c | 2 ++ arch/powerpc/mm/kasan/kasan_init_32.c | 4 +--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/include/asm/kasan.h b/arch/powerpc/include/asm/kasan.h index be85c7005fb1..d635b96c7ea6 100644 --- a/arch/powerpc/include/asm/kasan.h +++ b/arch/powerpc/include/asm/kasan.h @@ -27,10 +27,12 @@ #ifdef CONFIG_KASAN void kasan_early_init(void); +void kasan_mmu_init(void); void kasan_init(void); void kasan_late_init(void); #else static inline void kasan_init(void) { } +static inline void kasan_mmu_init(void) { } static inline void kasan_late_init(void) { } #endif diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 5a5469eb3174..bf1717f8d5f4 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c @@ -171,6 +171,8 @@ void __init MMU_init(void) btext_unmap(); #endif + kasan_mmu_init(); + setup_kup(); /* Shortly after that, the entire linear mapping will be available */ diff --git a/arch/powerpc/mm/kasan/kasan_init_32.c b/arch/powerpc/mm/kasan/kasan_init_32.c index 0760e1e754e4..4813c6d50889 100644 --- a/arch/powerpc/mm/kasan/kasan_init_32.c +++ b/arch/powerpc/mm/kasan/kasan_init_32.c @@ -117,7 +117,7 @@ static void __init kasan_unmap_early_shadow_vmalloc(void) kasan_update_early_region(k_start, k_end, __pte(0)); } -static void __init kasan_mmu_init(void) +void __init kasan_mmu_init(void) { int ret; struct memblock_region *reg; @@ -146,8 +146,6 @@ static void __init kasan_mmu_init(void) void __init kasan_init(void) { - kasan_mmu_init(); - kasan_remap_early_shadow_ro(); clear_page(kasan_early_shadow_page); -- 2.25.0