[patch 073/118] kasan: clean up setting free info in kasan_slab_free
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-02-26 01:20:11
Also in:
mm-commits
From: Andrey Konovalov <redacted> Subject: kasan: clean up setting free info in kasan_slab_free Put kasan_stack_collection_enabled() check and kasan_set_free_info() calls next to each other. The way this was previously implemented was a minor optimization that relied of the the fact that kasan_stack_collection_enabled() is always true for generic KASAN. The confusion that this brings outweights saving a few instructions. Link: https://lkml.kernel.org/r/f838e249be5ab5810bf54a36ef5072cfd80e2da7.1612546384.git.andreyknvl@google.com Signed-off-by: Andrey Konovalov <redacted> Reviewed-by: Marco Elver <elver@google.com> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Ryabinin <redacted> Cc: Branislav Rankov <redacted> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Evgenii Stepanov <redacted> Cc: Kevin Brodsky <redacted> Cc: Peter Collingbourne <redacted> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: Will Deacon <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- mm/kasan/common.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
--- a/mm/kasan/common.c~kasan-clean-up-setting-free-info-in-kasan_slab_free
+++ a/mm/kasan/common.c@@ -350,13 +350,11 @@ static bool ____kasan_slab_free(struct k kasan_poison(object, cache->object_size, KASAN_KMALLOC_FREE); - if (!kasan_stack_collection_enabled()) - return false; - if ((IS_ENABLED(CONFIG_KASAN_GENERIC) && !quarantine)) return false; - kasan_set_free_info(cache, object, tag); + if (kasan_stack_collection_enabled()) + kasan_set_free_info(cache, object, tag); return kasan_quarantine_put(cache, object); }
_