Message ID | 20210620114756.31304-2-Kuan-Ying.Lee@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: add memory corruption identification support for hw tag-based kasan | expand |
On Sun, Jun 20, 2021 at 1:48 PM Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> wrote: > > This patch renames CONFIG_KASAN_SW_TAGS_IDENTIFY to > CONFIG_KASAN_TAGS_IDENTIFY in order to be compatible > with hardware tag-based mode. > > Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> > Suggested-by: Marco Elver <elver@google.com> > Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> > Cc: Alexander Potapenko <glider@google.com> > Cc: Andrey Konovalov <andreyknvl@gmail.com> > Cc: Dmitry Vyukov <dvyukov@google.com> > Cc: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Alexander Potapenko <glider@google.com>
On Sun, Jun 20, 2021 at 2:48 PM Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> wrote: > > This patch renames CONFIG_KASAN_SW_TAGS_IDENTIFY to > CONFIG_KASAN_TAGS_IDENTIFY in order to be compatible > with hardware tag-based mode. > > Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> > Suggested-by: Marco Elver <elver@google.com> > Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> > Cc: Alexander Potapenko <glider@google.com> > Cc: Andrey Konovalov <andreyknvl@gmail.com> > Cc: Dmitry Vyukov <dvyukov@google.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > --- > lib/Kconfig.kasan | 2 +- > mm/kasan/kasan.h | 4 ++-- > mm/kasan/report_sw_tags.c | 2 +- > mm/kasan/sw_tags.c | 4 ++-- > 4 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan > index cffc2ebbf185..6f5d48832139 100644 > --- a/lib/Kconfig.kasan > +++ b/lib/Kconfig.kasan > @@ -155,7 +155,7 @@ config KASAN_STACK > CONFIG_COMPILE_TEST. On gcc it is assumed to always be safe > to use and enabled by default. > > -config KASAN_SW_TAGS_IDENTIFY > +config KASAN_TAGS_IDENTIFY > bool "Enable memory corruption identification" > depends on KASAN_SW_TAGS > help > diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h > index 8f450bc28045..b0fc9a1eb7e3 100644 > --- a/mm/kasan/kasan.h > +++ b/mm/kasan/kasan.h > @@ -153,7 +153,7 @@ struct kasan_track { > depot_stack_handle_t stack; > }; > > -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY > +#ifdef CONFIG_KASAN_TAGS_IDENTIFY > #define KASAN_NR_FREE_STACKS 5 > #else > #define KASAN_NR_FREE_STACKS 1 > @@ -170,7 +170,7 @@ struct kasan_alloc_meta { > #else > struct kasan_track free_track[KASAN_NR_FREE_STACKS]; > #endif > -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY > +#ifdef CONFIG_KASAN_TAGS_IDENTIFY > u8 free_pointer_tag[KASAN_NR_FREE_STACKS]; > u8 free_track_idx; > #endif > diff --git a/mm/kasan/report_sw_tags.c b/mm/kasan/report_sw_tags.c > index 3d20d3451d9e..821a14a19a92 100644 > --- a/mm/kasan/report_sw_tags.c > +++ b/mm/kasan/report_sw_tags.c > @@ -31,7 +31,7 @@ > > const char *kasan_get_bug_type(struct kasan_access_info *info) > { > -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY > +#ifdef CONFIG_KASAN_TAGS_IDENTIFY > struct kasan_alloc_meta *alloc_meta; > struct kmem_cache *cache; > struct page *page; > diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c > index 9362938abbfa..dd05e6c801fa 100644 > --- a/mm/kasan/sw_tags.c > +++ b/mm/kasan/sw_tags.c > @@ -177,7 +177,7 @@ void kasan_set_free_info(struct kmem_cache *cache, > if (!alloc_meta) > return; > > -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY > +#ifdef CONFIG_KASAN_TAGS_IDENTIFY > idx = alloc_meta->free_track_idx; > alloc_meta->free_pointer_tag[idx] = tag; > alloc_meta->free_track_idx = (idx + 1) % KASAN_NR_FREE_STACKS; > @@ -196,7 +196,7 @@ struct kasan_track *kasan_get_free_track(struct kmem_cache *cache, > if (!alloc_meta) > return NULL; > > -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY > +#ifdef CONFIG_KASAN_TAGS_IDENTIFY > for (i = 0; i < KASAN_NR_FREE_STACKS; i++) { > if (alloc_meta->free_pointer_tag[i] == tag) > break; > -- > 2.18.0 > Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan index cffc2ebbf185..6f5d48832139 100644 --- a/lib/Kconfig.kasan +++ b/lib/Kconfig.kasan @@ -155,7 +155,7 @@ config KASAN_STACK CONFIG_COMPILE_TEST. On gcc it is assumed to always be safe to use and enabled by default. -config KASAN_SW_TAGS_IDENTIFY +config KASAN_TAGS_IDENTIFY bool "Enable memory corruption identification" depends on KASAN_SW_TAGS help diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index 8f450bc28045..b0fc9a1eb7e3 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -153,7 +153,7 @@ struct kasan_track { depot_stack_handle_t stack; }; -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY +#ifdef CONFIG_KASAN_TAGS_IDENTIFY #define KASAN_NR_FREE_STACKS 5 #else #define KASAN_NR_FREE_STACKS 1 @@ -170,7 +170,7 @@ struct kasan_alloc_meta { #else struct kasan_track free_track[KASAN_NR_FREE_STACKS]; #endif -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY +#ifdef CONFIG_KASAN_TAGS_IDENTIFY u8 free_pointer_tag[KASAN_NR_FREE_STACKS]; u8 free_track_idx; #endif diff --git a/mm/kasan/report_sw_tags.c b/mm/kasan/report_sw_tags.c index 3d20d3451d9e..821a14a19a92 100644 --- a/mm/kasan/report_sw_tags.c +++ b/mm/kasan/report_sw_tags.c @@ -31,7 +31,7 @@ const char *kasan_get_bug_type(struct kasan_access_info *info) { -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY +#ifdef CONFIG_KASAN_TAGS_IDENTIFY struct kasan_alloc_meta *alloc_meta; struct kmem_cache *cache; struct page *page; diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c index 9362938abbfa..dd05e6c801fa 100644 --- a/mm/kasan/sw_tags.c +++ b/mm/kasan/sw_tags.c @@ -177,7 +177,7 @@ void kasan_set_free_info(struct kmem_cache *cache, if (!alloc_meta) return; -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY +#ifdef CONFIG_KASAN_TAGS_IDENTIFY idx = alloc_meta->free_track_idx; alloc_meta->free_pointer_tag[idx] = tag; alloc_meta->free_track_idx = (idx + 1) % KASAN_NR_FREE_STACKS; @@ -196,7 +196,7 @@ struct kasan_track *kasan_get_free_track(struct kmem_cache *cache, if (!alloc_meta) return NULL; -#ifdef CONFIG_KASAN_SW_TAGS_IDENTIFY +#ifdef CONFIG_KASAN_TAGS_IDENTIFY for (i = 0; i < KASAN_NR_FREE_STACKS; i++) { if (alloc_meta->free_pointer_tag[i] == tag) break;
This patch renames CONFIG_KASAN_SW_TAGS_IDENTIFY to CONFIG_KASAN_TAGS_IDENTIFY in order to be compatible with hardware tag-based mode. Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> Suggested-by: Marco Elver <elver@google.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Andrew Morton <akpm@linux-foundation.org> --- lib/Kconfig.kasan | 2 +- mm/kasan/kasan.h | 4 ++-- mm/kasan/report_sw_tags.c | 2 +- mm/kasan/sw_tags.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-)