From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9B52C433E1 for ; Thu, 2 Jul 2020 02:54:40 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9F0BF207F5 for ; Thu, 2 Jul 2020 02:54:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=axtens.net header.i=@axtens.net header.b="cP7JTsXr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9F0BF207F5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=axtens.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 4D4D78D000B; Wed, 1 Jul 2020 22:54:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 485AA8D0001; Wed, 1 Jul 2020 22:54:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C2268D000B; Wed, 1 Jul 2020 22:54:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0004.hostedemail.com [216.40.44.4]) by kanga.kvack.org (Postfix) with ESMTP id 297758D0001 for ; Wed, 1 Jul 2020 22:54:39 -0400 (EDT) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id AE4782DFC for ; Thu, 2 Jul 2020 02:54:38 +0000 (UTC) X-FDA: 76991617836.28.meat53_020f5bd26e85 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin28.hostedemail.com (Postfix) with ESMTP id 8C1386C37 for ; Thu, 2 Jul 2020 02:54:38 +0000 (UTC) X-HE-Tag: meat53_020f5bd26e85 X-Filterd-Recvd-Size: 4951 Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by imf19.hostedemail.com (Postfix) with ESMTP for ; Thu, 2 Jul 2020 02:54:38 +0000 (UTC) Received: by mail-pl1-f193.google.com with SMTP id s14so10691940plq.6 for ; Wed, 01 Jul 2020 19:54:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axtens.net; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hmqaZJTWyrZ0FbjDXm8RaPiEdszyKtA9q/J035BPFVA=; b=cP7JTsXrRAwaUk/s3r6046kZthbuvo+pnMiLbeJ92TN5Df4IlY5imhcjw6DhnGkCbp kvsnwkrOkzH3a3JGOqOwZGog/7b3prPfeaBhvzie1IFd3qYoC3heY995lUjewiSw6d1H 4AB3xQJu+LyZ+/b9OESxctzddqplBAiW2jQkc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hmqaZJTWyrZ0FbjDXm8RaPiEdszyKtA9q/J035BPFVA=; b=pSAjTWLc6BRKTe1zBpdXXmdzhWvjZ6jZTduTow6KEJmZXcyEdENJO92S4vh96S0Z6n QEJMm/RaSA6z2IvvKw3aPYY8e/IrFDNS2szcGHlgE0LbI6IWxosn45m7irSIRcxPEPgm qOqKcul+kQ0tBqUTe7NqmqC1wm9CslcO/WXKr7l0C8ovRZCIu2WSgFGuxEvBXBzKpbKa NeSdeDi5/wZiOiUDrAVEv3fX3yo+iwLlSu7DopHloAbee05Qn80hSrST+E2VuqyAIq8r Iw1eIILnC9Ng4OE17jQo4WuNZHqEqrCjFR7PrVb307llWq6+8g3o32NI98bVy0CfSfGN VeXA== X-Gm-Message-State: AOAM531FfUYyTYadDTTvDhr0CR4H75dWc2ZhqXua3cE2I/mxv4XrYkDK paq88Ny0ElvWzUCequgwPFfpsA== X-Google-Smtp-Source: ABdhPJyo4y4l83li9ExCVZOeOn/mYCprRDsvcN4pWndY1hK1p+y5El3vuSv4CxjdcbgqE8OWQCYmKA== X-Received: by 2002:a17:902:6bc1:: with SMTP id m1mr25456864plt.158.1593658477129; Wed, 01 Jul 2020 19:54:37 -0700 (PDT) Received: from localhost (2001-44b8-1113-6700-3c80-6152-10ca-83bc.static.ipv6.internode.on.net. [2001:44b8:1113:6700:3c80:6152:10ca:83bc]) by smtp.gmail.com with ESMTPSA id u26sm7243117pgo.71.2020.07.01.19.54.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2020 19:54:36 -0700 (PDT) From: Daniel Axtens To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, kasan-dev@googlegroups.com, christophe.leroy@c-s.fr, aneesh.kumar@linux.ibm.com, bsingharora@gmail.com Cc: Daniel Axtens Subject: [PATCH v8 0/4] KASAN for powerpc64 radix Date: Thu, 2 Jul 2020 12:54:28 +1000 Message-Id: <20200702025432.16912-1-dja@axtens.net> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 8C1386C37 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Building on the work of Christophe, Aneesh and Balbir, I've ported KASAN to 64-bit Book3S kernels running on the Radix MMU. This provides full inline instrumentation on radix, but does require that you be able to specify the amount of physically contiguous memory on the system at compile time. More details in patch 4. v8 is just a rebase of v7 on a more recent powerpc/merge and a fixup of a whitespace error. Module globals still don't work, but that's due to some 'clever' renaming of a section that the powerpc module loading code does to avoid more complicated relocations/tramplines rather than anything to do with KASAN. Daniel Axtens (4): kasan: define and use MAX_PTRS_PER_* for early shadow tables kasan: Document support on 32-bit powerpc powerpc/mm/kasan: rename kasan_init_32.c to init_32.c powerpc: Book3S 64-bit "heavyweight" KASAN support Documentation/dev-tools/kasan.rst | 8 +- Documentation/powerpc/kasan.txt | 122 ++++++++++++++++++ arch/powerpc/Kconfig | 3 +- arch/powerpc/Kconfig.debug | 23 +++- arch/powerpc/Makefile | 11 ++ arch/powerpc/include/asm/book3s/64/hash.h | 4 + arch/powerpc/include/asm/book3s/64/pgtable.h | 7 + arch/powerpc/include/asm/book3s/64/radix.h | 5 + arch/powerpc/include/asm/kasan.h | 11 +- arch/powerpc/kernel/Makefile | 2 + arch/powerpc/kernel/process.c | 16 ++- arch/powerpc/kernel/prom.c | 76 ++++++++++- arch/powerpc/mm/kasan/Makefile | 3 +- .../mm/kasan/{kasan_init_32.c =3D> init_32.c} | 0 arch/powerpc/mm/kasan/init_book3s_64.c | 73 +++++++++++ arch/powerpc/mm/ptdump/ptdump.c | 10 +- arch/powerpc/platforms/Kconfig.cputype | 1 + include/linux/kasan.h | 18 ++- mm/kasan/init.c | 6 +- 19 files changed, 377 insertions(+), 22 deletions(-) create mode 100644 Documentation/powerpc/kasan.txt rename arch/powerpc/mm/kasan/{kasan_init_32.c =3D> init_32.c} (100%) create mode 100644 arch/powerpc/mm/kasan/init_book3s_64.c --=20 2.25.1