[PATCH v2 0/5] kasan: support alloca, LLVM

From: Paul Lawrence
Date: Wed Nov 29 2017 - 16:51:15 EST


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