kasan-drop-config_kasan_tags_identify.patch removed from -mm tree
The quilt patch titled
Subject: kasan: drop CONFIG_KASAN_TAGS_IDENTIFY
has been removed from the -mm tree. Its filename was
kasan-drop-config_kasan_tags_identify.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Andrey Konovalov <[email protected]>
Subject: kasan: drop CONFIG_KASAN_TAGS_IDENTIFY
Date: Mon, 5 Sep 2022 23:05:20 +0200
Drop CONFIG_KASAN_TAGS_IDENTIFY and related code to simplify making changes to the reporting code.
The dropped functionality will be restored in the following patches in this series.
---
lib/Kconfig.kasan | 8 -------- mm/kasan/kasan.h | 12 +----------- mm/kasan/report_tags.c | 28 ---------------------------- mm/kasan/tags.c | 21 ++------------------- 4 files changed, 3 insertions(+), 66 deletions(-)
lib/Kconfig.kasan renamed from lib/Kconfig.kasan~kasan-drop-config_kasan_tags_identify +0 -8
@@ -167,14 +167,6 @@ config KASAN_STACK as well, as it adds inline-style instrumentation that is run unconditionally. -config KASAN_TAGS_IDENTIFY - bool "Memory corruption type identification" - depends on KASAN_SW_TAGS || KASAN_HW_TAGS - help - Enables best-effort identification of the bug types (use-after-free - or out-of-bounds) at the cost of increased memory consumption. - Only applicable for the tag-based KASAN modes. - config KASAN_VMALLOC bool "Check accesses to vmalloc allocations" depends on HAVE_ARCH_KASAN_VMALLOC
mm/kasan/kasan.h renamed from mm/kasan/kasan.h~kasan-drop-config_kasan_tags_identify +1 -11
@@ -169,23 +169,13 @@ struct kasan_track {depot_stack_handle_t stack; }; -#if defined(CONFIG_KASAN_TAGS_IDENTIFY ) && defined(CONFIG_KASAN_SW_TAGS ) -#define KASAN_NR_FREE_STACKS 5 -#else -#define KASAN_NR_FREE_STACKS 1 -#endif -struct kasan_alloc_meta {struct kasan_track alloc_track;/* Generic mode stores free track in kasan_free_meta. */ #ifdef CONFIG_KASAN_GENERIC depot_stack_handle_t aux_stack[2 ];#else -struct kasan_track free_track[KASAN_NR_FREE_STACKS ]; -#endif -#ifdef CONFIG_KASAN_TAGS_IDENTIFY -u8 free_pointer_tag[KASAN_NR_FREE_STACKS ]; -u8 free_track_idx; +struct kasan_track free_track;#endif };
mm/kasan/report_tags.c renamed from mm/kasan/report_tags.c~kasan-drop-config_kasan_tags_identify +0 -28
@@ -5,37 +5,9 @@*/ #include "kasan.h" -#include "../slab.h" const char *kasan_get_bug_type (struct kasan_report_info *info) { -#ifdef CONFIG_KASAN_TAGS_IDENTIFY -struct kasan_alloc_meta *alloc_meta; -struct kmem_cache *cache; -struct slab *slab; -const void *addr; -void *object; -u8 tag; -int i; - - tag =get_tag (info->access_addr); - addr =kasan_reset_tag (info->access_addr); - slab =kasan_addr_to_slab (addr); -if (slab) { - cache = slab->slab_cache; - object =nearest_obj (cache, slab, (void *)addr); - alloc_meta =kasan_get_alloc_meta (cache, object); - -if (alloc_meta) { -for (i =0 ; i <KASAN_NR_FREE_STACKS ; i++) { -if (alloc_meta->free_pointer_tag[i] == tag) -return "use-after-free" ; - } - } -return "out-of-bounds" ; - } -#endif -/* * If access_size is a negative number, then it has reason to be * defined as out-of-bounds bug type.
mm/kasan/tags.c renamed from mm/kasan/tags.c~kasan-drop-config_kasan_tags_identify +2 -19
@@ -30,39 +30,22 @@ void kasan_save_free_info(struct kmem_ca void *object, u8 tag) {struct kasan_alloc_meta *alloc_meta; -u8 idx =0 ; alloc_meta =kasan_get_alloc_meta (cache, object);if (!alloc_meta)return ; -#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 ; -#endif - -kasan_set_track (&alloc_meta->free_track[idx],GFP_NOWAIT ); +kasan_set_track (&alloc_meta->free_track,GFP_NOWAIT ); }struct kasan_track *kasan_get_free_track (struct kmem_cache *cache,void *object,u8 tag) {struct kasan_alloc_meta *alloc_meta; -int i =0 ; alloc_meta =kasan_get_alloc_meta (cache, object);if (!alloc_meta)return NULL ; -#ifdef CONFIG_KASAN_TAGS_IDENTIFY -for (i =0 ; i <KASAN_NR_FREE_STACKS ; i++) { -if (alloc_meta->free_pointer_tag[i] == tag) -break ; - } -if (i ==KASAN_NR_FREE_STACKS ) - i = alloc_meta->free_track_idx; -#endif - -return &alloc_meta->free_track[i]; +return &alloc_meta->free_track; }
_
Patches currently in -mm which might be from [email protected] are
kasan-fix-array-bounds-warnings-in-tests.patch