• Andrey Konovalov's avatar
    kasan, page_alloc: merge kasan_alloc_pages into post_alloc_hook · b42090ae
    Andrey Konovalov authored
    Currently, the code responsible for initializing and poisoning memory in
    post_alloc_hook() is scattered across two locations: kasan_alloc_pages()
    hook for HW_TAGS KASAN and post_alloc_hook() itself.  This is confusing.
    
    This and a few following patches combine the code from these two
    locations.  Along the way, these patches do a step-by-step restructure the
    many performed checks to make them easier to follow.
    
    Replace the only caller of kasan_alloc_pages() with its implementation.
    
    As kasan_has_integrated_init() is only true when CONFIG_KASAN_HW_TAGS is
    enabled, moving the code does no functional changes.
    
    Also move init and init_tags variables definitions out of
    kasan_has_integrated_init() clause in post_alloc_hook(), as they have the
    same values regardless of what the if condition evaluates to.
    
    This patch is not useful by itself but makes the simplifications in the
    following patches easier to follow.
    
    Link: https://lkml.kernel.org/r/5ac7e0b30f5cbb177ec363ddd7878a3141289592.1643047180.git.andreyknvl@google.comSigned-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
    Acked-by: default avatarMarco Elver <elver@google.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Evgenii Stepanov <eugenis@google.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Collingbourne <pcc@google.com>
    Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b42090ae
hw_tags.c 4.69 KB