Message ID | Y+94tm7xoeTGqPgs@elver.google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [-tip,v4,1/3] kasan: Emit different calls for instrumentable memintrinsics | expand |
On Fri, Feb 17, 2023 at 1:53 PM Marco Elver <elver@google.com> wrote: > > Now that memcpy/memset/memmove are no longer overridden by KASAN, we can > just use the normal symbol names in uninstrumented files. > > Drop the preprocessor redefinitions. > > Fixes: 69d4c0d32186 ("entry, kasan, x86: Disallow overriding mem*() functions") > Signed-off-by: Marco Elver <elver@google.com> > --- > v4: > * New patch. > --- > arch/x86/include/asm/string_64.h | 19 ------------------- > 1 file changed, 19 deletions(-) > > diff --git a/arch/x86/include/asm/string_64.h b/arch/x86/include/asm/string_64.h > index 888731ccf1f6..c1e14cee0722 100644 > --- a/arch/x86/include/asm/string_64.h > +++ b/arch/x86/include/asm/string_64.h > @@ -85,25 +85,6 @@ char *strcpy(char *dest, const char *src); > char *strcat(char *dest, const char *src); > int strcmp(const char *cs, const char *ct); > > -#if (defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__)) > -/* > - * For files that not instrumented (e.g. mm/slub.c) we > - * should use not instrumented version of mem* functions. > - */ > - > -#undef memcpy > -#define memcpy(dst, src, len) __memcpy(dst, src, len) > -#undef memmove > -#define memmove(dst, src, len) __memmove(dst, src, len) > -#undef memset > -#define memset(s, c, n) __memset(s, c, n) > - > -#ifndef __NO_FORTIFY > -#define __NO_FORTIFY /* FORTIFY_SOURCE uses __builtin_memcpy, etc. */ > -#endif > - > -#endif > - > #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE > #define __HAVE_ARCH_MEMCPY_FLUSHCACHE 1 > void __memcpy_flushcache(void *dst, const void *src, size_t cnt); > -- > 2.39.2.637.g21b0678d19-goog > Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com> Thank you, Marco!
diff --git a/arch/x86/include/asm/string_64.h b/arch/x86/include/asm/string_64.h index 888731ccf1f6..c1e14cee0722 100644 --- a/arch/x86/include/asm/string_64.h +++ b/arch/x86/include/asm/string_64.h @@ -85,25 +85,6 @@ char *strcpy(char *dest, const char *src); char *strcat(char *dest, const char *src); int strcmp(const char *cs, const char *ct); -#if (defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__)) -/* - * For files that not instrumented (e.g. mm/slub.c) we - * should use not instrumented version of mem* functions. - */ - -#undef memcpy -#define memcpy(dst, src, len) __memcpy(dst, src, len) -#undef memmove -#define memmove(dst, src, len) __memmove(dst, src, len) -#undef memset -#define memset(s, c, n) __memset(s, c, n) - -#ifndef __NO_FORTIFY -#define __NO_FORTIFY /* FORTIFY_SOURCE uses __builtin_memcpy, etc. */ -#endif - -#endif - #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE #define __HAVE_ARCH_MEMCPY_FLUSHCACHE 1 void __memcpy_flushcache(void *dst, const void *src, size_t cnt);
Now that memcpy/memset/memmove are no longer overridden by KASAN, we can just use the normal symbol names in uninstrumented files. Drop the preprocessor redefinitions. Fixes: 69d4c0d32186 ("entry, kasan, x86: Disallow overriding mem*() functions") Signed-off-by: Marco Elver <elver@google.com> --- v4: * New patch. --- arch/x86/include/asm/string_64.h | 19 ------------------- 1 file changed, 19 deletions(-)