Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp807522pxa; Wed, 5 Aug 2020 13:16:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwM26wWEM0eUiCgBda2jLGXOqNOKeXh2Zabpz1ArmgDQsmH1Tcq3GdtbYkumrUGo9N7fjIA X-Received: by 2002:a50:bf08:: with SMTP id f8mr938021edk.207.1596658581834; Wed, 05 Aug 2020 13:16:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596658581; cv=none; d=google.com; s=arc-20160816; b=n6feFbAjGaVoyV8AA/PU2X/KANyeu6F+ymBOnyo9EGSjeouqH1CqzhNqHH8/EfHFVy q3B4SC678WJllnGSdc4yoxkB1rdAvX72zQBuUtZ4xrTnZuKQ9jyEM0FFU7E0FG6XdAo8 aclOYfNQ27vpvupT30VBIfnMQ6I1uXqt6vBuHwU6zUSqzQcMrxQF7jTVGY49yNKT+GTE izgpQgd/VHAeIzb7KD93Yw676WpEQexo2EDK8dw7w2hnjTmb6azVP5LUT2dILopWLpfk AP3YGX5wusnXsoyKa0ebiXazMsvWJYdrz8m2R+TKhxqBJNuJ2AFpCsZ8dLSy39JeUcQV kZjw== 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=mGSMd/yxYzkioZIpu/b+5HGRzpK64kIa+9yG4vdaBb8=; b=EXZPnpBjd9nXdXezUaQl+DLYfRZ7y/hJDelNVTouEMzfz6fEC86i5C6sOSWnmN05FG kqYG6vxORM1sG8qZ8aDnlfhdgd1PAi091ivKEx6RQ3KoWA1Qy7ga0AbX6uLBpUloKMu6 N3FQ+07H0z4djThoFiEBfI2X30wxtu/8QB79HW2Z7buhbh2hdbczTmm+wy/TvTD89rQw 6rfzuxPqRFZ1prUA449N9x3g2M5DeGbNKY/Iwy/YfARxNHYwYe4KPxRrDvswn4wToe8n Xw3Vdx+F4iw0qfx9+z3zq/TMX8HkLym8YdqI4Z1g2dVb/WeIBdp6YE7+WyESxCuq6sSh Au4A== 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 d8si1921444ejj.109.2020.08.05.13.15.59; Wed, 05 Aug 2020 13:16: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 S1729888AbgHEUOu (ORCPT + 99 others); Wed, 5 Aug 2020 16:14:50 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:19893 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726605AbgHEQVF (ORCPT ); Wed, 5 Aug 2020 12:21:05 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4BMFqN1M0jz9vD3y; Wed, 5 Aug 2020 17:27:28 +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 FrQjfHC17EgI; Wed, 5 Aug 2020 17:27:28 +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 4BMFqN0Yv4z9vD3n; Wed, 5 Aug 2020 17:27:28 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 3BC418B7ED; Wed, 5 Aug 2020 17:27:30 +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 1ILtOrr_uo5w; Wed, 5 Aug 2020 17:27:30 +0200 (CEST) Received: from po16052vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id F2CCD8B7EC; Wed, 5 Aug 2020 17:27:29 +0200 (CEST) Received: by po16052vm.idsi0.si.c-s.fr (Postfix, from userid 0) id C654A65BC2; Wed, 5 Aug 2020 15:27:29 +0000 (UTC) Message-Id: <6eddca2d5611fd57312a88eae31278c87a8fc99d.1596641224.git.christophe.leroy@csgroup.eu> From: Christophe Leroy Subject: [PATCH] powerpc/kasan: Fix KASAN_SHADOW_START on BOOK3S_32 To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Wed, 5 Aug 2020 15:27:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On BOOK3S_32, when we have modules and strict kernel RWX, modules are not in vmalloc space but in a dedicated segment that is below PAGE_OFFSET. So KASAN_SHADOW_START must take it into account. MODULES_VADDR can't be used because it is not defined yet in kasan.h Fixes: 6ca055322da8 ("powerpc/32s: Use dedicated segment for modules with STRICT_KERNEL_RWX") Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/kasan.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/include/asm/kasan.h b/arch/powerpc/include/asm/kasan.h index d635b96c7ea6..7355ed05e65e 100644 --- a/arch/powerpc/include/asm/kasan.h +++ b/arch/powerpc/include/asm/kasan.h @@ -15,11 +15,18 @@ #ifndef __ASSEMBLY__ #include +#include #define KASAN_SHADOW_SCALE_SHIFT 3 +#if defined(CONFIG_PPC_BOOK3S_32) && defined(CONFIG_MODULES) && defined(CONFIG_STRICT_KERNEL_RWX) +#define KASAN_KERN_START ALIGN_DOWN(PAGE_OFFSET - SZ_256M, SZ_256M) +#else +#define KASAN_KERN_START PAGE_OFFSET +#endif + #define KASAN_SHADOW_START (KASAN_SHADOW_OFFSET + \ - (PAGE_OFFSET >> KASAN_SHADOW_SCALE_SHIFT)) + (KASAN_KERN_START >> KASAN_SHADOW_SCALE_SHIFT)) #define KASAN_SHADOW_OFFSET ASM_CONST(CONFIG_KASAN_SHADOW_OFFSET) -- 2.25.0