diff --git a/mm/slub.c b/mm/slub.c
index 4ea7f1a22a9468f332f529c60e7be0b85a97616f..4aad32d2e60d22b659efa63f8728e67d1ce7f1e1 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1884,7 +1884,8 @@ debug:
 	deactivate_slab(s, c);
 	c->page = NULL;
 	c->node = NUMA_NO_NODE;
-	goto unlock_out;
+	local_irq_restore(flags);
+	return object;
 }
 
 /*