Skip to contentSkip to conversation

kasan-introduce-kasan_get_alloc_track.patch removed from -mm tree

merged mm-stable Andrew Morton 1 participant 1 message Oct 3, 2022

lore
Share & tools
lore

Andrew Morton

author tree notice Applied
#0 lore raw

The quilt patch titled
Subject: kasan: introduce kasan_get_alloc_track
has been removed from the -mm tree. Its filename was
kasan-introduce-kasan_get_alloc_track.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_get_alloc_track
Date: Mon, 5 Sep 2022 23:05:22 +0200

Add a kasan_get_alloc_track() helper that fetches alloc_track for a slab object and use this helper in the common reporting 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 reporting code. This is desired as only the Generic mode will be using per-object metadata after this series.

---

 mm/kasan/generic.c |   14 +++++++++++++-
 mm/kasan/kasan.h   |    4 +++-
 mm/kasan/report.c  |    8 ++++----
 mm/kasan/tags.c    |   14 +++++++++++++-
 4 files changed, 33 insertions(+), 7 deletions(-)
mm/kasan/generic.c renamed from mm/kasan/generic.c~kasan-introduce-kasan_get_alloc_track +13 -1
@@ -381,8 +381,20 @@ void kasan_save_free_info(struct kmem_ca
 	*(u8 *)kasan_mem_to_shadow(object) = KASAN_SLAB_FREETRACK;
 }
 
+struct kasan_track *kasan_get_alloc_track(struct kmem_cache *cache,
+						void *object)
+{
+	struct kasan_alloc_meta *alloc_meta;
+
+	alloc_meta = kasan_get_alloc_meta(cache, object);
+	if (!alloc_meta)
+		return NULL;
+
+	return &alloc_meta->alloc_track;
+}
+
 struct kasan_track *kasan_get_free_track(struct kmem_cache *cache,
-				void *object, u8 tag)
+						void *object, u8 tag)
 {
 	if (*(u8 *)kasan_mem_to_shadow(object) != KASAN_SLAB_FREETRACK)
 		return NULL;
mm/kasan/kasan.h renamed from mm/kasan/kasan.h~kasan-introduce-kasan_get_alloc_track +3 -1
@@ -283,8 +283,10 @@ depot_stack_handle_t kasan_save_stack(gf
 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);
 void kasan_save_free_info(struct kmem_cache *cache, void *object, u8 tag);
+struct kasan_track *kasan_get_alloc_track(struct kmem_cache *cache,
+						void *object);
 struct kasan_track *kasan_get_free_track(struct kmem_cache *cache,
-				void *object, u8 tag);
+						void *object, u8 tag);
 
 #if defined(CONFIG_KASAN_GENERIC) && \
 	(defined(CONFIG_SLAB) || defined(CONFIG_SLUB))
mm/kasan/report.c renamed from mm/kasan/report.c~kasan-introduce-kasan_get_alloc_track +4 -4
@@ -255,12 +255,12 @@ static void describe_object_addr(struct
 static void describe_object_stacks(struct kmem_cache *cache, void *object,
 					const void *addr, u8 tag)
 {
-	struct kasan_alloc_meta *alloc_meta;
+	struct kasan_track *alloc_track;
 	struct kasan_track *free_track;
 
-	alloc_meta = kasan_get_alloc_meta(cache, object);
-	if (alloc_meta) {
-		print_track(&alloc_meta->alloc_track, "Allocated");
+	alloc_track = kasan_get_alloc_track(cache, object);
+	if (alloc_track) {
+		print_track(alloc_track, "Allocated");
 		pr_err("\n");
 	}
 
mm/kasan/tags.c renamed from mm/kasan/tags.c~kasan-introduce-kasan_get_alloc_track +13 -1
@@ -38,8 +38,20 @@ void kasan_save_free_info(struct kmem_ca
 	kasan_set_track(&alloc_meta->free_track, GFP_NOWAIT);
 }
 
+struct kasan_track *kasan_get_alloc_track(struct kmem_cache *cache,
+						void *object)
+{
+	struct kasan_alloc_meta *alloc_meta;
+
+	alloc_meta = kasan_get_alloc_meta(cache, object);
+	if (!alloc_meta)
+		return NULL;
+
+	return &alloc_meta->alloc_track;
+}
+
 struct kasan_track *kasan_get_free_track(struct kmem_cache *cache,
-				void *object, u8 tag)
+						void *object, u8 tag)
 {
 	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