diff --git a/mm/slub.c b/mm/slub.c index 8f78e25770317e63a37c741d66c2761f71afa2e9..c83fe96f5e421204bfd5c607da97cf590f2cc040 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3477,7 +3477,7 @@ void kfree(const void *x) if (unlikely(!PageSlab(page))) { BUG_ON(!PageCompound(page)); kmemleak_free(x); - put_page(page); + __free_pages(page, compound_order(page)); return; } slab_free(page->slab, page, object, _RET_IP_);