• Andrey Ryabinin's avatar
    x86/kasan, mm: Introduce generic kasan_populate_zero_shadow() · 69786cdb
    Andrey Ryabinin authored
    
    
    Introduce generic kasan_populate_zero_shadow(shadow_start,
    shadow_end). This function maps kasan_zero_page to the
    [shadow_start, shadow_end] addresses.
    
    This replaces x86_64 specific populate_zero_shadow() and will
    be used for ARM64 in follow on patches.
    
    The main changes from original version are:
    
     * Use p?d_populate*() instead of set_p?d()
     * Use memblock allocator directly instead of vmemmap_alloc_block()
     * __pa() instead of __pa_nodebug(). __pa() causes troubles
       iff we use it before kasan_early_init(). kasan_populate_zero_shadow()
       will be used later, so we ok with __pa() here.
    Signed-off-by: default avatarAndrey Ryabinin <ryabinin.a.a@gmail.com>
    Acked-by: Catalin Marinas's avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Alexey Klimov <klimov.linux@gmail.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: David Keitel <dkeitel@codeaurora.org>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Yury <yury.norov@gmail.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mm@kvack.org
    Link: http://lkml.kernel.org/r/1439444244-26057-3-git-send-email-ryabinin.a.a@gmail.com
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    69786cdb