[PATCH] kasan: fix slab double free when cpu-hotplug

From: qiang . zhang
Date: Fri Dec 04 2020 - 05:39:51 EST


From: Zqiang <qiang.zhang@xxxxxxxxxxxxx>

When a CPU offline, the per-cpu quarantine's offline be set true,
after this, if the quarantine_put be called in this CPU, the objects
will be free and return false, free objects doesn't to be done, due
to return false, the slab memory manager will free this objects.

Fixes: 41ab1aae781f ("kasan: fix object remaining in offline per-cpu quarantine")
Signed-off-by: Zqiang <qiang.zhang@xxxxxxxxxxxxx>
---
mm/kasan/quarantine.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/mm/kasan/quarantine.c b/mm/kasan/quarantine.c
index d98b516f372f..55783125a767 100644
--- a/mm/kasan/quarantine.c
+++ b/mm/kasan/quarantine.c
@@ -194,7 +194,6 @@ bool quarantine_put(struct kmem_cache *cache, void *object)

q = this_cpu_ptr(&cpu_quarantine);
if (q->offline) {
- qlink_free(&meta->quarantine_link, cache);
local_irq_restore(flags);
return false;
}
--
2.17.1