• Andrey Konovalov's avatar
    arm64: kasan: allow to init memory when setting tags · d9b6f907
    Andrey Konovalov authored
    Patch series "kasan: integrate with init_on_alloc/free", v3.
    
    This patch series integrates HW_TAGS KASAN with init_on_alloc/free by
    initializing memory via the same arm64 instruction that sets memory tags.
    
    This is expected to improve HW_TAGS KASAN performance when
    init_on_alloc/free is enabled.  The exact perfomance numbers are unknown
    as MTE-enabled hardware doesn't exist yet.
    
    This patch (of 5):
    
    This change adds an argument to mte_set_mem_tag_range() that allows to
    enable memory initialization when settinh the allocation tags.  The
    implementation uses stzg instruction instead of stg when this argument
    indicates to initialize memory.
    
    Combining setting allocation tags with memory initialization will improve
    HW_TAGS KASAN performance when init_on_alloc/free is enabled.
    
    This change doesn't integrate memory initialization with KASAN, this is
    done is subsequent patches in this series.
    
    Link: https://lkml.kernel.org/r/cover.1615296150.git.andreyknvl@google.com
    Link: https://lkml.kernel.org/r/d04ae90cc36be3fe246ea8025e5085495681c3d7.1615296150.git.andreyknvl@google.comSigned-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
    Acked-by: default avatarMarco Elver <elver@google.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Peter Collingbourne <pcc@google.com>
    Cc: Evgenii Stepanov <eugenis@google.com>
    Cc: Branislav Rankov <Branislav.Rankov@arm.com>
    Cc: Kevin Brodsky <kevin.brodsky@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d9b6f907
memory.h 12.3 KB