Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1254705pxb; Thu, 23 Sep 2021 23:43:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwqc2LQwxJjUD3oMpTdq+q8G3MSREsFkYnMOniAmxItWan92X6ysiww/l4pYwNVu4fE3u1B X-Received: by 2002:a50:e10d:: with SMTP id h13mr3179491edl.77.1632465836405; Thu, 23 Sep 2021 23:43:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632465836; cv=none; d=google.com; s=arc-20160816; b=WoAJ90/8hDWos7ImSTCKr8kfvIdud0fgiZMsvKMI6SHHr/qjCT/CaucSbrivLRhDTz MG9LHV1atwMr7gVW+N9h2vY3qXrPHCTjYqrJL5FtIvPvHIa9jegIJkGk8QF/yDOOmz7v 66KuEOUh3Gja+Tsq4y0mFLk8REKEbwHQPIc5z9PatFUHPj7B5U7LM5MSk1IZDld/4GbV ZS+9j/jcz287Lv2T+BlzuTChqp6QgW3spSKA/qw13h6HoNrVZcllfoAWOlR/ZAG82lpJ QR4C14clIVlOI1HzO1B4t2j+qOPBY1p6S5+62x8pirIgF7nHqOz8Ttl/45GV9Jm9bcJ8 cyaQ== 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:from:references :cc:to:subject; bh=MAScJpFm2+cGygqpd98L8xPGO7gnJDh7EIIJgH6BExo=; b=NyxCHw8qKa2P+WlTAlvGsdo1HxEPwil/G/tKnfxKXoFT1qAUYxvhJzECDNntf0sy3Y zB4tAT0bofAY+lsQxiv/Cf01yo/w7AST8RRBLh7LKLiNjSD8fNvsjXH44R6A3b/t1O9I jYaqE5vqi+R23LA+AdqC2ywzAIjaUCuAQerWARaOHYNbKEVIHOJlGqhR7guhRxJOt6RI agQ6A/gXHiN8sEqu+DTGbTUl+muIbMS0o/7aBtDetHbgIufU4us162udEmYvOuc0aX24 w+v/OdD8/4oJSa3yDmtpjBQlu+0EPqlnWmb7rGHdHvAOMYEwzXtr/N1Zpb8QHECbZYnR mWTQ== 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 c11si9824121edw.382.2021.09.23.23.43.23; Thu, 23 Sep 2021 23:43:56 -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 S244198AbhIXGne (ORCPT + 99 others); Fri, 24 Sep 2021 02:43:34 -0400 Received: from pegase2.c-s.fr ([93.17.235.10]:33293 "EHLO pegase2.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244182AbhIXGnd (ORCPT ); Fri, 24 Sep 2021 02:43:33 -0400 Received: from localhost (mailhub3.si.c-s.fr [172.26.127.67]) by localhost (Postfix) with ESMTP id 4HG2WW501Sz9sTt; Fri, 24 Sep 2021 08:41:59 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase2.c-s.fr ([172.26.127.65]) by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JTviW7YgVGAC; Fri, 24 Sep 2021 08:41:59 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase2.c-s.fr (Postfix) with ESMTP id 4HG2WW2Rssz9sTq; Fri, 24 Sep 2021 08:41:59 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 3DF3D8B77B; Fri, 24 Sep 2021 08:41:59 +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 QnfXEWwF-9YL; Fri, 24 Sep 2021 08:41:59 +0200 (CEST) Received: from PO20335.IDSI0.si.c-s.fr (unknown [192.168.202.215]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 92E488B763; Fri, 24 Sep 2021 08:41:58 +0200 (CEST) Subject: Re: [PATCH] powerpc: don't select KFENCE on platform PPC_FSL_BOOK3E To: Liu Shixin , Marco Elver , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org References: <20210924063927.1341241-1-liushixin2@huawei.com> From: Christophe Leroy Message-ID: Date: Fri, 24 Sep 2021 08:41:57 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210924063927.1341241-1-liushixin2@huawei.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr-FR Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 24/09/2021 à 08:39, Liu Shixin a écrit : > On platform PPC_FSL_BOOK3E, all lowmem is managed by tlbcam. That means > we didn't really map the kfence pool with page granularity. Therefore, > if KFENCE is enabled, the system will hit the following panic: Could you please explain a bit more what the problem is ? KFENCE has been implemented with the same logic as DEBUG_PAGEALLOC. DEBUG_PAGEALLOC is enabled on FSL_BOOK3E. In MMU_setup(), __map_without_ltlbs is set to 1 when KFENCE is enabled. __map_without_ltlbs should disable the use of tlbcam. So what's wrong really ? Does DEBUG_PAGEALLOC work on FSL_BOOK3E ? Thanks Christophe > > BUG: Kernel NULL pointer dereference on read at 0x00000000 > Faulting instruction address: 0xc01de598 > Oops: Kernel access of bad area, sig: 11 [#1] > BE PAGE_SIZE=4K SMP NR_CPUS=4 MPC8544 DS > Dumping ftrace buffer: > (ftrace buffer empty) > Modules linked in: > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.12.0-rc3+ #298 > NIP: c01de598 LR: c08ae9c4 CTR: 00000000 > REGS: c0b4bea0 TRAP: 0300 Not tainted (5.12.0-rc3+) > MSR: 00021000 CR: 24000228 XER: 20000000 > DEAR: 00000000 ESR: 00000000 > GPR00: c08ae9c4 c0b4bf60 c0ad64e0 ef720000 00021000 00000000 00000000 00000200 > GPR08: c0ad5000 00000000 00000000 00000004 00000000 008fbb30 00000000 00000000 > GPR16: 00000000 00000000 00000000 00000000 c0000000 00000000 00000000 00000000 > GPR24: c08ca004 c08ca004 c0b6a0e0 c0b60000 c0b58f00 c0850000 c08ca000 ef720000 > NIP [c01de598] kfence_protect+0x44/0x6c > LR [c08ae9c4] kfence_init+0xfc/0x2a4 > Call Trace: > [c0b4bf60] [efffe160] 0xefffe160 (unreliable) > [c0b4bf70] [c08ae9c4] kfence_init+0xfc/0x2a4 > [c0b4bfb0] [c0894d3c] start_kernel+0x3bc/0x574 > [c0b4bff0] [c0000470] set_ivor+0x14c/0x188 > Instruction dump: > 7c0802a6 8109d594 546a653a 90010014 54630026 39200000 7d48502e 2c0a0000 > 41820010 554a0026 5469b53a 7d295214 <81490000> 38831000 554a003c 91490000 > random: get_random_bytes called from print_oops_end_marker+0x40/0x78 with crng_init=0 > ---[ end trace 0000000000000000 ]--- > > Signed-off-by: Liu Shixin > --- > arch/powerpc/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index d46db0bfb998..cffd57bcb5e4 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -185,7 +185,7 @@ config PPC > select HAVE_ARCH_KASAN if PPC32 && PPC_PAGE_SHIFT <= 14 > select HAVE_ARCH_KASAN_VMALLOC if PPC32 && PPC_PAGE_SHIFT <= 14 > select HAVE_ARCH_KGDB > - select HAVE_ARCH_KFENCE if PPC32 > + select HAVE_ARCH_KFENCE if PPC32 && !PPC_FSL_BOOK3E > select HAVE_ARCH_MMAP_RND_BITS > select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT > select HAVE_ARCH_NVRAM_OPS >