From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) by kanga.kvack.org (Postfix) with ESMTP id 1C0958E0001 for ; Tue, 18 Sep 2018 13:09:25 -0400 (EDT) Received: by mail-io1-f72.google.com with SMTP id v20-v6so2965028iom.14 for ; Tue, 18 Sep 2018 10:09:25 -0700 (PDT) Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id k30-v6sor11487623jaj.122.2018.09.18.10.09.23 for (Google Transport Security); Tue, 18 Sep 2018 10:09:23 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <19d757c2cafc277f0143a8ac34e179061f3487f5.1535462971.git.andreyknvl@google.com> From: Andrey Konovalov Date: Tue, 18 Sep 2018 19:09:22 +0200 Message-ID: Subject: Re: [PATCH v6 06/18] khwasan, arm64: untag virt address in __kimg_to_phys and _virt_addr_is_linear Content-Type: text/plain; charset="UTF-8" Sender: owner-linux-mm@kvack.org List-ID: To: Dmitry Vyukov Cc: Andrey Ryabinin , Alexander Potapenko , Catalin Marinas , Will Deacon , Christoph Lameter , Andrew Morton , Mark Rutland , Nick Desaulniers , Marc Zyngier , Dave Martin , Ard Biesheuvel , "Eric W . Biederman" , Ingo Molnar , Paul Lawrence , Geert Uytterhoeven , Arnd Bergmann , "Kirill A . Shutemov" , Greg Kroah-Hartman , Kate Stewart , Mike Rapoport , kasan-dev , "open list:DOCUMENTATION" , LKML , Linux ARM , linux-sparse@vger.kernel.org, Linux-MM , "open list:KERNEL BUILD + fi..." , Kostya Serebryany , Evgeniy Stepanov , Lee Smith , Ramana Radhakrishnan , Jacob Bramley , Ruben Ayrapetyan , Jann Horn , Mark Brand , Chintan Pandya , Vishwath Mohan On Wed, Sep 12, 2018 at 6:33 PM, Dmitry Vyukov wrote: > On Wed, Aug 29, 2018 at 1:35 PM, Andrey Konovalov wrote: >> +#ifdef CONFIG_KASAN_HW >> +#define KASAN_TAG_SHIFTED(tag) ((unsigned long)(tag) << 56) >> +#define KASAN_SET_TAG(addr, tag) (((addr) & ~KASAN_TAG_SHIFTED(0xff)) | \ >> + KASAN_TAG_SHIFTED(tag)) >> +#define KASAN_RESET_TAG(addr) KASAN_SET_TAG(addr, 0xff) >> +#endif >> + > > > Wouldn't it be better to > #define KASAN_RESET_TAG(addr) addr > when CONFIG_KASAN_HW is not enabled, and then not duplicate the macros > below? That's what we do in kasan.h for all hooks. > I see that a subsequent patch duplicates yet another macro in this > file. While we could use: > > #define __kimg_to_phys(addr) (KASAN_RESET_TAG(addr) - kimage_voffset) > > with and without kasan. Duplicating them increases risk that somebody > will change only the non-kasan version but forget kasan version. Will do in v7.