kasan-introduce-kasan_init_object_meta.patch removed from -mm tree
The quilt patch titled
Subject: kasan: introduce kasan_init_object_meta
has been removed from the -mm tree. Its filename was
kasan-introduce-kasan_init_object_meta.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: introduce kasan_init_object_meta
Date: Mon, 5 Sep 2022 23:05:23 +0200
Add a kasan_init_object_meta() helper that initializes metadata for a slab object and use it in the common code.
For now, the implementations of this helper are the same for the Generic and tag-based modes, but they will diverge later in the series.
This change hides references to alloc_meta from the common code. This is desired as only the Generic mode will be using per-object metadata after this series.
---
mm/kasan/common.c | 10 +++------- mm/kasan/generic.c | 9 +++++++++ mm/kasan/kasan.h | 2 ++ mm/kasan/tags.c | 9 +++++++++ 4 files changed, 23 insertions(+), 7 deletions(-)
mm/kasan/common.c renamed from mm/kasan/common.c~kasan-introduce-kasan_init_object_meta +3 -7
@@ -313,13 +313,9 @@ static inline u8 assign_tag(struct kmem_void *__must_check __kasan_init_slab_obj (struct kmem_cache *cache,const void *object) { -struct kasan_alloc_meta *alloc_meta; - -if (kasan_stack_collection_enabled ()) { - alloc_meta =kasan_get_alloc_meta (cache, object); -if (alloc_meta) -__memset (alloc_meta,0 ,sizeof (*alloc_meta)); - } +/* Initialize per-object metadata if it is present. */ +if (kasan_stack_collection_enabled ()) +kasan_init_object_meta (cache, object);/* Tag is ignored in set_tag() without CONFIG_KASAN_SW/HW_TAGS */ object =set_tag (object,assign_tag (cache, object, true));
mm/kasan/generic.c renamed from mm/kasan/generic.c~kasan-introduce-kasan_init_object_meta +9 -0
@@ -328,6 +328,15 @@ DEFINE_ASAN_SET_SHADOW(f3);DEFINE_ASAN_SET_SHADOW (f5);DEFINE_ASAN_SET_SHADOW (f8); +void kasan_init_object_meta (struct kmem_cache *cache,const void *object) +{ +struct kasan_alloc_meta *alloc_meta; + + alloc_meta =kasan_get_alloc_meta (cache, object); +if (alloc_meta) +__memset (alloc_meta,0 ,sizeof (*alloc_meta)); +} +static void __kasan_record_aux_stack (void *addr,bool can_alloc) {struct slab *slab =kasan_addr_to_slab (addr);
mm/kasan/kasan.h renamed from mm/kasan/kasan.h~kasan-introduce-kasan_init_object_meta +2 -0
@@ -279,6 +279,8 @@ void kasan_report_invalid_free(void *objstruct page *kasan_addr_to_page (const void *addr);struct slab *kasan_addr_to_slab (const void *addr); +void kasan_init_object_meta (struct kmem_cache *cache,const void *object); +depot_stack_handle_t kasan_save_stack (gfp_t flags,bool can_alloc);void kasan_set_track (struct kasan_track *track,gfp_t flags);void kasan_save_alloc_info (struct kmem_cache *cache,void *object,gfp_t flags);
mm/kasan/tags.c renamed from mm/kasan/tags.c~kasan-introduce-kasan_init_object_meta +9 -0
@@ -17,6 +17,15 @@#include "kasan.h" +void kasan_init_object_meta (struct kmem_cache *cache,const void *object) +{ +struct kasan_alloc_meta *alloc_meta; + + alloc_meta =kasan_get_alloc_meta (cache, object); +if (alloc_meta) +__memset (alloc_meta,0 ,sizeof (*alloc_meta)); +} +void kasan_save_alloc_info (struct kmem_cache *cache,void *object,gfp_t flags) {struct kasan_alloc_meta *alloc_meta;
_
Patches currently in -mm which might be from [email protected] are
kasan-fix-array-bounds-warnings-in-tests.patch