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,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 E1AF0C433E1 for ; Thu, 27 Aug 2020 12:43:40 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7FFCB2177B for ; Thu, 27 Aug 2020 12:43:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="UHlALGet" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7FFCB2177B 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 D60F9900007; Thu, 27 Aug 2020 08:43:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D11AC8E0006; Thu, 27 Aug 2020 08:43:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C00D4900007; Thu, 27 Aug 2020 08:43:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0106.hostedemail.com [216.40.44.106]) by kanga.kvack.org (Postfix) with ESMTP id AB6A88E0006 for ; Thu, 27 Aug 2020 08:43:39 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 61FD88248D51 for ; Thu, 27 Aug 2020 12:43:39 +0000 (UTC) X-FDA: 77196314958.29.boats21_4909aee2706d Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin29.hostedemail.com (Postfix) with ESMTP id A695E18086E36 for ; Thu, 27 Aug 2020 12:43:38 +0000 (UTC) X-HE-Tag: boats21_4909aee2706d X-Filterd-Recvd-Size: 5194 Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by imf14.hostedemail.com (Postfix) with ESMTP for ; Thu, 27 Aug 2020 12:43:37 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id g33so3275755pgb.4 for ; Thu, 27 Aug 2020 05:43:37 -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=tpzREOcIrukXANPEmvrI6Q05nccQGVBf08+JNfkt4Jw=; b=UHlALGethP+XF8Xx15Bkd4rjqcoCWixU2Kg9zK1Ai8YR26cFQnGAAfZFhCzGD5exxl 6DUgXAxpJx0VzhgnLZ8veoDW4D2VtOSwi1WssJvi+C5TYGg6zi8NI4Xx0TfZqWjybswN krFsTBIjs/qGYPkYoEJNzjH8DRa716+rz3GW9MehNX+lOGE5gAHWCjuh/5lW4SAhceUK HEmoCmPRKpZ7AvrLMz7QZRECy09ZoOGSoLkjZnOxrvwevweft/o9soFkVMDNBErYheU/ 9UpwsJUd4LVDpWNX5ew7wyXbZHrKg23EZg+XwyPbO6hXuJecShqgfjPIGSmdM0iHK3G1 SvqA== 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=tpzREOcIrukXANPEmvrI6Q05nccQGVBf08+JNfkt4Jw=; b=XDvcXAyCC/8gdhaCNHAwBEJ+mc9oeYIFVKTJDui0YEIKL8A6pTagnqKBkaGlvM2XMC vX+/wxjanh6Zh5CLhIlmMgpbyyX673hVYxfHbycJuInO/4PQTRT67xciCzCJZDH4hSHT eZ1Kjs3AE71Y/LuOPenKCnqiS2kyqhIW8bo0F6yMQ+TzNTmEVVw89Hk69i7XudGjRvdy Hxsfno1HJIIZYKu46htEPlrBiwZV8Xchcc88a5YYNLmEYaip4b9VMggCeOa9YPpgDvrJ dZLG41/EGptcYLLGli7B1KM0VzXzN2gYQs8weVtnhsSGqFT9661RpNXWICev1jXg8hZz yS7A== X-Gm-Message-State: AOAM532ZhZssWn2g/H0C6uvERjlQ6jPhfigLlHosXoDAPZR5Nat6cSye D2hILI+Ere4wA176YVw9uMO2xIyUmUB5nXDPu5wWRQ== X-Google-Smtp-Source: ABdhPJxuj6rYCJJdWgpgaTNs6Y6dBbQY8aITvclQRebjC3+PxK6h72/GRkpCuz/1FNoHMmojX+ZiKylGPmUJot58C80= X-Received: by 2002:a63:4c:: with SMTP id 73mr14624887pga.286.1598532216123; Thu, 27 Aug 2020 05:43:36 -0700 (PDT) MIME-Version: 1.0 References: <518da1e5169a4e343caa3c37feed5ad551b77a34.1597425745.git.andreyknvl@google.com> <20200827104033.GF29264@gaia> <9c53dfaa-119e-b12e-1a91-1f67f4aef503@arm.com> <20200827111344.GK29264@gaia> In-Reply-To: From: Andrey Konovalov Date: Thu, 27 Aug 2020 14:43:25 +0200 Message-ID: Subject: Re: [PATCH 26/35] kasan, arm64: Enable TBI EL1 To: Vincenzo Frascino Cc: Catalin Marinas , Dmitry Vyukov , 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: A695E18086E36 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam01 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 Thu, Aug 27, 2020 at 1:15 PM Vincenzo Frascino wrote: > > > > On 8/27/20 12:13 PM, Catalin Marinas wrote: > > On Thu, Aug 27, 2020 at 12:05:55PM +0100, Vincenzo Frascino wrote: > >> On 8/27/20 11:40 AM, 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. > >> > >> Not sure I understand... Enabling TBI1 only if MTE is present would break > >> KASAN_SW_TAGS which is based on TBI1 but not on MTE. > > > > You keep the KASAN_SW_TAGS as above but for HW_TAGS, only set TBI1 later > > in __cpu_setup(). > > > > Ok, sounds good. Sounds good to me too. Vincenzo, could you take care of Catalin's comments on your (arm64) patches, do the rebase onto user mte v8, and share it with me? I'll work on KASAN changes in the meantime, and then integrate everything together for v2. Perhaps the best way to test only the arm64 part is writing a simple module that causes an MTE fault. (At least that's what I did when I was testing core in-kernel MTE patches separately.) Or reuse this series, all KASAN patches should rebase cleanly on top of the latest mainline.