Adding kasan alloca support using clang Also adding support for clang, since needed for this feature gcc has kasan alloca support, but only post 7.2
[Patch v2 1/5] kasan: support alloca() poisoning Tests moved to patch 2/5 __asan_alloca_unpoison(): Use precalculated rounded-up-size Warning added if bottom is not aligned as expected Parameter check added to make sure gcc builds don't fail Now unpoisons partial chunks get_shadow_bug_type(): Missing break added [PATCH v2 2/5] kasan: Add tests for alloca poisonong Tests moved here kasan_alloca_oob_right(): No longer rounding up [PATCH v2 3/5] kasan: added functions for unpoisoning stack variables No change from v1. clang builds need f8 [PATCH v2 4/5] kasan: support LLVM-style asan parameters Rejigged whole file. Old approach would not work except with ToT gcc or clang. All parameters would be rejected if one was not known. Also if both were empty, CFLAGS_KASAN would be " " which mostly disabled kasan on older compilers. Added support for gcc, tested on ToT compiler [PATCH v2 5/5] kasan: add compiler support for clang Made comments single line Paul Lawrence (5): kasan: support alloca() poisoning kasan: Add tests for alloca poisonong kasan: added functions for unpoisoning stack variables kasan: support LLVM-style asan parameters kasan: add compiler support for clang include/linux/compiler-clang.h | 8 +++++++ lib/test_kasan.c | 22 ++++++++++++++++++++ mm/kasan/kasan.c | 47 ++++++++++++++++++++++++++++++++++++++++++ mm/kasan/kasan.h | 8 +++++++ mm/kasan/report.c | 4 ++++ scripts/Makefile.kasan | 39 ++++++++++++++++++++++++----------- 6 files changed, 116 insertions(+), 12 deletions(-) -- 2.15.0.531.g2ccb3012c9-goog