lkml.org 
[lkml]   [2020]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 23/37] arm64: kasan: Add arch layer for memory tagging helpers
    On Tue, Sep 15, 2020 at 11:16PM +0200, 'Andrey Konovalov' via kasan-dev wrote:
    > This patch add a set of arch_*() memory tagging helpers currently only
    > defined for arm64 when hardware tag-based KASAN is enabled. These helpers
    > will be used by KASAN runtime to implement the hardware tag-based mode.
    >
    > The arch-level indirection level is introduced to simplify adding hardware
    > tag-based KASAN support for other architectures in the future by defining
    > the appropriate arch_*() macros.
    >
    > Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
    > Co-developed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
    > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
    > ---
    > Change-Id: I42b0795a28067872f8308e00c6f0195bca435c2a
    > ---
    > arch/arm64/include/asm/memory.h | 8 ++++++++
    > mm/kasan/kasan.h | 19 +++++++++++++++++++
    > 2 files changed, 27 insertions(+)
    >
    > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
    > index e424fc3a68cb..268a3b6cebd2 100644
    > --- a/arch/arm64/include/asm/memory.h
    > +++ b/arch/arm64/include/asm/memory.h
    > @@ -231,6 +231,14 @@ static inline const void *__tag_set(const void *addr, u8 tag)
    > return (const void *)(__addr | __tag_shifted(tag));
    > }
    >
    > +#ifdef CONFIG_KASAN_HW_TAGS
    > +#define arch_init_tags(max_tag) mte_init_tags(max_tag)
    > +#define arch_get_random_tag() mte_get_random_tag()
    > +#define arch_get_mem_tag(addr) mte_get_mem_tag(addr)
    > +#define arch_set_mem_tag_range(addr, size, tag) \
    > + mte_set_mem_tag_range((addr), (size), (tag))

    Suggested edit below, assuming you're fine with checkpatch.pl's new
    100col limit:

    -#define set_mem_tag_range(addr, size, tag) \
    - arch_set_mem_tag_range((addr), (size), (tag))
    +#define set_mem_tag_range(addr, size, tag) arch_set_mem_tag_range((addr), (size), (tag))

    \
     
     \ /
      Last update: 2020-09-18 15:00    [W:2.153 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site