Message ID | e762958db74587308514341a18622ff350a75d8a.1612208222.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: optimizations and fixes for HW_TAGS | expand |
On Mon, Feb 01, 2021 at 08:43PM +0100, Andrey Konovalov wrote: > 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. > > Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Reviewed-by: Marco Elver <elver@google.com> > --- > mm/kasan/common.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index a7eb553c8e91..086bb77292b6 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -350,13 +350,11 @@ static bool ____kasan_slab_free(struct kmem_cache *cache, void *object, > > 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); > } > -- > 2.30.0.365.g02bc693789-goog >
diff --git a/mm/kasan/common.c b/mm/kasan/common.c index a7eb553c8e91..086bb77292b6 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -350,13 +350,11 @@ static bool ____kasan_slab_free(struct kmem_cache *cache, void *object, 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); }
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. Signed-off-by: Andrey Konovalov <andreyknvl@google.com> --- mm/kasan/common.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)