Skip to content
  • Andrey Ryabinin's avatar
    x86_64: kasan: add interceptors for memset/memmove/memcpy functions · 393f203f
    Andrey Ryabinin authored
    
    
    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: default avatarAndrey 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: default avatarAndrey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    393f203f