From cd6e5d5d7d0338fbfe58010f7dde0a521db6b681 Mon Sep 17 00:00:00 2001 From: Vijayanand Jitta Date: Fri, 4 Mar 2022 19:49:08 +0530 Subject: [PATCH] ANDROID: mm/slub: Fix Kasan issue with for_each_object_track In for_each_object_track we go through meta data of the slab object in function(fn), and as a result false postive out-of-bound access is reported by kasan. Fix this by wrapping that function call with metadata_access_enable/disable. Bug: 222651868 Fixes: ee8d2c7884a00 ("ANDROID: mm: add get_each_object_track function") Change-Id: Ifb4241a9c3e397a52759d467aa267d1297e297dd Signed-off-by: Vijayanand Jitta --- mm/slub.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 229136a8ef70..135d1be1c2ac 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -599,7 +599,9 @@ unsigned long get_each_object_track(struct kmem_cache *s, slab_lock(page); for_each_object(p, s, page_address(page), page->objects) { t = get_track(s, p, alloc); + metadata_access_enable(); ret = fn(s, p, t, private); + metadata_access_disable(); if (ret < 0) break; num_track += 1;