Messages in this thread | | | Subject | Re: [PATCH v2 5/5] kasan: add compiler support for clang | From | Andrey Ryabinin <> | Date | Thu, 30 Nov 2017 19:45:10 +0300 |
| |
On 11/30/2017 12:50 AM, Paul Lawrence wrote: > For now we can hard-code ASAN ABI level 5, since historical clang builds > can't build the kernel anyway. We also need to emulate gcc's > __SANITIZE_ADDRESS__ flag, or memset() calls won't be instrumented. > > Signed-off-by: Greg Hackmann <ghackmann@google.com> > Signed-off-by: Paul Lawrence <paullawrence@google.com> > > --- > include/linux/compiler-clang.h | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h > index 3b609edffa8f..d02a4df3f473 100644 > --- a/include/linux/compiler-clang.h > +++ b/include/linux/compiler-clang.h > @@ -19,3 +19,11 @@ > > #define randomized_struct_fields_start struct { > #define randomized_struct_fields_end }; > + > +/* all clang versions usable with the kernel support KASAN ABI version 5 */ > +#define KASAN_ABI_VERSION 5 > +
This patch should be earlier in this series. Patch 4/5 breaks clang-built kernel, because we start using globals instrumentation with wrong KASAN_ABI_VERSION.
> +/* emulate gcc's __SANITIZE_ADDRESS__ flag */ > +#if __has_feature(address_sanitizer) > +#define __SANITIZE_ADDRESS__ > +#endif >
| |