|
@@ -393,10 +393,11 @@ static void slob_free(void *block, int size)
|
|
/* Go directly to page allocator. Do not pass slob allocator */
|
|
/* Go directly to page allocator. Do not pass slob allocator */
|
|
if (slob_page_free(sp))
|
|
if (slob_page_free(sp))
|
|
clear_slob_page_free(sp);
|
|
clear_slob_page_free(sp);
|
|
|
|
+ spin_unlock_irqrestore(&slob_lock, flags);
|
|
clear_slob_page(sp);
|
|
clear_slob_page(sp);
|
|
free_slob_page(sp);
|
|
free_slob_page(sp);
|
|
free_page((unsigned long)b);
|
|
free_page((unsigned long)b);
|
|
- goto out;
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
|
|
if (!slob_page_free(sp)) {
|
|
if (!slob_page_free(sp)) {
|