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=-14.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL 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 136C8C43461 for ; Tue, 8 Sep 2020 14:13:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id A202F22838 for ; Tue, 8 Sep 2020 14:13:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Jzzh0sjM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A202F22838 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id E8B7C6B0003; Tue, 8 Sep 2020 10:13:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E3B626B0037; Tue, 8 Sep 2020 10:13:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D79378E0001; Tue, 8 Sep 2020 10:13:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0060.hostedemail.com [216.40.44.60]) by kanga.kvack.org (Postfix) with ESMTP id C0DB36B0003 for ; Tue, 8 Sep 2020 10:13:05 -0400 (EDT) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 7BEF11EE6 for ; Tue, 8 Sep 2020 14:13:05 +0000 (UTC) X-FDA: 77240085930.05.night99_1616470270d5 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin05.hostedemail.com (Postfix) with ESMTP id A0B68180178A5 for ; Tue, 8 Sep 2020 14:13:02 +0000 (UTC) X-HE-Tag: night99_1616470270d5 X-Filterd-Recvd-Size: 5218 Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by imf12.hostedemail.com (Postfix) with ESMTP for ; Tue, 8 Sep 2020 14:13:02 +0000 (UTC) Received: by mail-pf1-f194.google.com with SMTP id z19so8896226pfn.8 for ; Tue, 08 Sep 2020 07:13:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SMcWrEBFn4y8oWuAmn2eZMWAoBr3QRyf1vevmm6kpYs=; b=Jzzh0sjM+sebliF2+g0oD6UV30lD8Je25a3ORZDUih+SpSCxXDxxYCU+2gGsh9/OkJ 70s3sTKNRMsamCYPAapkWhpvADc+OyCyeznmqk45YsWg8gFtDxSYjWXriqEh3urgYvoy tebnU1yTEvrd+phD+7FT8IeEymsitQrYPaUBiKH2kR+9ZsLjwx2c/axjW9Y6HLpLPT55 ViDKdLPdp5ygXnpd9fq7J2GGefutFP4GG3PkwixuiI9Pc63x7sraVe8wC3jcawGBX9oP YJGU47XU8QZ1K0ai+PaP/jVxRUABdUb0B1JEBXUt1yo+63SthraFPxk3JDq17Req8iAK Az3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SMcWrEBFn4y8oWuAmn2eZMWAoBr3QRyf1vevmm6kpYs=; b=M56tGm3lhe/eZTkSPMKCb5OHThGcgOeB2tRlMRZjNwHOODYaJEuCp/m1bbiQy0yvEk WIuCr+zj7dsvHelbRXFToDkPDwB7RKkkroDnPj6zRrFJ+0JQvdLOAAma1nAnwU/CdxZB 9CCGcQBQRzDOq6ZKAe0ZjDZMvkI6QMHlhnCcGkAsG3JBil6bO7nucz00Y7EvR/bPt4Eo 2xW2UdlpKUq6GtkR3kINe+uMYjP2tXWNKQvTsnO4ASyj21wgF1ESOaLYK1qPzu9voMTp BTpw8wP/9sqA6VE6s3kDXK2jBvy7DTFnrc+cL6xiyHOrJ2AQ33oU+ViZw77UoB1Kdyn/ QuzQ== X-Gm-Message-State: AOAM532OZCBDXE5cLwz2aKDAmb3VOZ4GPK74bQ3AY8F+FobXv1mcFzr/ RcHVRDOLIul33BV87rBbsfhtdsRuKemhGTZ7RM1bBg== X-Google-Smtp-Source: ABdhPJyefGenq86vwXxC8byR1bbNo446im+Q1wzZOY2tOktJ+HGERi+qxWaH7CgzJBKUU7/QW+Q68vuVcA9ikxvsBxY= X-Received: by 2002:a62:c2:: with SMTP id 185mr25215607pfa.11.1599574380885; Tue, 08 Sep 2020 07:13:00 -0700 (PDT) MIME-Version: 1.0 References: <518da1e5169a4e343caa3c37feed5ad551b77a34.1597425745.git.andreyknvl@google.com> <20200827104033.GF29264@gaia> <20200908140620.GE25591@gaia> In-Reply-To: <20200908140620.GE25591@gaia> From: Andrey Konovalov Date: Tue, 8 Sep 2020 16:12:49 +0200 Message-ID: Subject: Re: [PATCH 26/35] kasan, arm64: Enable TBI EL1 To: Catalin Marinas Cc: Dmitry Vyukov , Vincenzo Frascino , kasan-dev , Andrey Ryabinin , Alexander Potapenko , Marco Elver , Evgenii Stepanov , Elena Petrova , Branislav Rankov , Kevin Brodsky , Will Deacon , Andrew Morton , Linux ARM , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: A0B68180178A5 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 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: On Tue, Sep 8, 2020 at 4:06 PM Catalin Marinas wrote: > > On Tue, Sep 08, 2020 at 03:18:04PM +0200, Andrey Konovalov wrote: > > On Thu, Aug 27, 2020 at 12:40 PM Catalin Marinas > > wrote: > > > > > > On Fri, Aug 14, 2020 at 07:27:08PM +0200, Andrey Konovalov wrote: > > > > diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S > > > > index 152d74f2cc9c..6880ddaa5144 100644 > > > > --- a/arch/arm64/mm/proc.S > > > > +++ b/arch/arm64/mm/proc.S > > > > @@ -38,7 +38,7 @@ > > > > /* PTWs cacheable, inner/outer WBWA */ > > > > #define TCR_CACHE_FLAGS TCR_IRGN_WBWA | TCR_ORGN_WBWA > > > > > > > > -#ifdef CONFIG_KASAN_SW_TAGS > > > > +#if defined(CONFIG_KASAN_SW_TAGS) || defined(CONFIG_KASAN_HW_TAGS) > > > > #define TCR_KASAN_FLAGS TCR_TBI1 > > > > #else > > > > #define TCR_KASAN_FLAGS 0 > > > > > > I prefer to turn TBI1 on only if MTE is present. So on top of the v8 > > > user series, just do this in __cpu_setup. > > > > Started working on this, but realized that I don't understand what > > exactly is suggested here. TCR_KASAN_FLAGS are used in __cpu_setup(), > > so this already happens in __cpu_setup(). > > > > Do you mean that TBI1 should be enabled when CONFIG_ARM64_MTE is > > enabled, but CONFIG_KASAN_HW_TAGS is disabled? > > What I meant is that we should turn TBI1 only when the MTE is present in > hardware (and the ARM64_MTE option is on). But I probably missed the way > MTE is used with KASAN. > > So what happens if CONFIG_KASAN_HW_TAGS and CONFIG_ARM64_MTE are both on > but the hardware does not support MTE? Does KASAN still generate tagged > pointers? If yes, then the current patch is fine, we should always set > TBI1. No, the tag is always 0xFF when MTE is not supported. Should we then only enable TBI1 if system_supports_mte() or something like that?