aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2011-03-22 14:32:53 -0400
committerPekka Enberg <penberg@kernel.org>2011-03-22 14:48:04 -0400
commit2fd66c517d5e98de2528d86e0e62f5069ff99f59 (patch)
tree2d8ef9bf8b71872475728f778f0c095ae395785b /mm
parentf741a79e982cf56d7584435bad663553ffe6715f (diff)
slub: Add missing irq restore for the OOM path
OOM path is missing the irq restore in the CONFIG_CMPXCHG_LOCAL case. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 7e4f835e32ab..e126cfbd3df2 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1857,6 +1857,9 @@ new_slab:
1857 } 1857 }
1858 if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit()) 1858 if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
1859 slab_out_of_memory(s, gfpflags, node); 1859 slab_out_of_memory(s, gfpflags, node);
1860#ifdef CONFIG_CMPXCHG_LOCAL
1861 local_irq_restore(flags);
1862#endif
1860 return NULL; 1863 return NULL;
1861debug: 1864debug:
1862 if (!alloc_debug_processing(s, c->page, object, addr)) 1865 if (!alloc_debug_processing(s, c->page, object, addr))