• A
    x86_64: kasan: add interceptors for memset/memmove/memcpy functions · 393f203f
    Andrey Ryabinin 提交于
    Recently instrumentation of builtin functions calls was removed from GCC
    5.0.  To check the memory accessed by such functions, userspace asan
    always uses interceptors for them.
    
    So now we should do this as well.  This patch declares
    memset/memmove/memcpy as weak symbols.  In mm/kasan/kasan.c we have our
    own implementation of those functions which checks memory before accessing
    it.
    
    Default memset/memmove/memcpy now now always have aliases with '__'
    prefix.  For files that built without kasan instrumentation (e.g.
    mm/slub.c) original mem* replaced (via #define) with prefixed variants,
    cause we don't want to check memory accesses there.
    Signed-off-by: NAndrey Ryabinin <a.ryabinin@samsung.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Konstantin Serebryany <kcc@google.com>
    Cc: Dmitry Chernenkov <dmitryc@google.com>
    Signed-off-by: NAndrey Konovalov <adech.fo@gmail.com>
    Cc: Yuri Gribov <tetra2005@gmail.com>
    Cc: Konstantin Khlebnikov <koct9i@gmail.com>
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    393f203f
kasan.c 10.8 KB