Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp597474ybl; Wed, 14 Aug 2019 03:03:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqzHYFCEjeuOOcXdwumpZXoEoshO5+ewAaF8deqMx2Wb3w4xZarZdrQ025h02+T1BE+XSdr2 X-Received: by 2002:a17:902:883:: with SMTP id 3mr7380139pll.318.1565777039640; Wed, 14 Aug 2019 03:03:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565777039; cv=none; d=google.com; s=arc-20160816; b=UoQZw7Z6EOfaGpr0sfRXfYGFmjiD/AMgf5j3TcRGjxQwc3tV2vK3fzzsZFzJ+yB0WH XLXJ34hIFSXDmLpA5R6EjaDQQwPq3DEiL23ibgZ/Eog+JEKy5lzhk6mogr/066FgBY7v li4O6g4utQqzQoOAd1+AFnWoeNOEb/bIUPUMfx0fbfi/d+MrF76hFt22EN42FyWrOEeO Yu1a1fRnJqZMPmG7Qxzvw439wcnl2Xxs9jNLyyt2YuePJr7oXjS7zHD+tPalQH4YfGle WGpm6V2kKJjzcr4IKUJ3A6rvGW/Z8hSMZYORxXTbe2LdLw6N+Lo4Stg22xTjAJmimkyT naFQ== 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=ZMMrk+3Fktg8VWVZeo65KkEXyFiN/EMJHpWcs2l4QSw=; b=eVqt0N4tuWx07UA8wbGzScfkP2+th+VC29HpUO3z/TnjnO98cabHPMu9TjOfZZJBiP ggs5ODA5bHAHWBemtARzGFzp7+KxsXE4PHL62wlRL2a0MeGIWeHWTuQNGQxtxOKkgi8O 1JyAopOsvIP8u1KGgGdPM4+3yysPtMhmjz/ZIZbeuzDEYxl6HqaP/0W/8JYNgUaDDhKb nPRDApRCwZ9SopiLQP95zWmEZ16gavzNCBRoaaWXXPf7Z6kGDsTkb5wRlrMJMCOsUdN6 rG/CL1IwxMKnzu4OunaeFKLyF+PZIePa+0LfRAGhbFKCpC2+E47OFfD40B4ErHJHQnG3 YqsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=SxP5DKns; 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 d9si2727787pjr.20.2019.08.14.03.03.42; Wed, 14 Aug 2019 03:03:59 -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=@c-s.fr header.s=mail header.b=SxP5DKns; 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 S1727111AbfHNKCX (ORCPT + 99 others); Wed, 14 Aug 2019 06:02:23 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:39308 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726265AbfHNKCX (ORCPT ); Wed, 14 Aug 2019 06:02:23 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 467lW009Mxz9tynG; Wed, 14 Aug 2019 12:02:20 +0200 (CEST) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=SxP5DKns; 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 YBeLb-kzBG1f; Wed, 14 Aug 2019 12:02:19 +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 467lVz67JTz9tyn3; Wed, 14 Aug 2019 12:02:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1565776939; bh=ZMMrk+3Fktg8VWVZeo65KkEXyFiN/EMJHpWcs2l4QSw=; h=From:Subject:To:Cc:Date:From; b=SxP5DKnsX+pr0RqtcrkK7es9y3DHTa0jxHZpytxI1BSCMEGRSUGwJN3j/KFiBujeo 6t56eUsjjaeI/wCOE800YlI7a2VzhZkBVN7piew1CnKaNwipB/YY+ip9WQ8wPwXL7G fd7sNQLoOq5llRFo8izKR4rdLGrkPi0FFgdM+wwU= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 282B08B7A3; Wed, 14 Aug 2019 12:02:21 +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 p5k-hEbzKXB2; Wed, 14 Aug 2019 12:02:21 +0200 (CEST) Received: from pc17473vm.idsi0.si.c-s.fr (po15451.idsi0.si.c-s.fr [172.25.230.101]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 007748B761; Wed, 14 Aug 2019 12:02:20 +0200 (CEST) Received: by pc17473vm.idsi0.si.c-s.fr (Postfix, from userid 0) id E53716B6BA; Wed, 14 Aug 2019 10:02:20 +0000 (UTC) Message-Id: From: Christophe Leroy Subject: [PATCH v2] powerpc/32s: fix boot failure with DEBUG_PAGEALLOC without KASAN. To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , j.neuschaefer@gmx.net, nch@infradead.org Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Wed, 14 Aug 2019 10:02:20 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When KASAN is selected, the definitive hash table has to be set up later, but there is already an early temporary one. When KASAN is not selected, there is no early hash table, so the setup of the definitive hash table cannot be delayed. Reported-by: Jonathan Neuschafer Fixes: 72f208c6a8f7 ("powerpc/32s: move hash code patching out of MMU_init_hw()") Tested-by: Jonathan Neuschafer Signed-off-by: Christophe Leroy --- v2: Added a comment in MMU_init_hw() arch/powerpc/kernel/head_32.S | 2 ++ arch/powerpc/mm/book3s32/mmu.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S index f255e22184b4..c8b4f7ed318c 100644 --- a/arch/powerpc/kernel/head_32.S +++ b/arch/powerpc/kernel/head_32.S @@ -897,9 +897,11 @@ start_here: bl machine_init bl __save_cpu_setup bl MMU_init +#ifdef CONFIG_KASAN BEGIN_MMU_FTR_SECTION bl MMU_init_hw_patch END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE) +#endif /* * Go back to running unmapped so we can load up new values diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c index e249fbf6b9c3..8d68f03bf5a4 100644 --- a/arch/powerpc/mm/book3s32/mmu.c +++ b/arch/powerpc/mm/book3s32/mmu.c @@ -358,6 +358,15 @@ void __init MMU_init_hw(void) hash_mb2 = hash_mb = 32 - LG_HPTEG_SIZE - lg_n_hpteg; if (lg_n_hpteg > 16) hash_mb2 = 16 - LG_HPTEG_SIZE; + + /* + * When KASAN is selected, there is already an early temporary hash + * table and the switch to the final hash table is done later. + */ + if (IS_ENABLED(CONFIG_KASAN)) + return; + + MMU_init_hw_patch(); } void __init MMU_init_hw_patch(void) -- 2.13.3