mm/mempool: avoid KASAN marking mempool poison checks as use-after-free
When removing an element from the mempool, mark it as unpoisoned in KASAN before verifying its contents for SLUB/SLAB debugging. Otherwise KASAN will flag the reads checking the element use-after-free writes as use-after-free reads. Signed-off-by: Matthew Dawson <matthew@mjdsystems.ca> Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
2a4fb270da
commit
7640131032
|
@ -135,8 +135,8 @@ static void *remove_element(mempool_t *pool)
|
|||
void *element = pool->elements[--pool->curr_nr];
|
||||
|
||||
BUG_ON(pool->curr_nr < 0);
|
||||
check_element(pool, element);
|
||||
kasan_unpoison_element(pool, element);
|
||||
check_element(pool, element);
|
||||
return element;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue