diff options
author | Christoph Lameter <cl@linux.com> | 2011-03-22 14:32:53 -0400 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-03-22 14:48:04 -0400 |
commit | 2fd66c517d5e98de2528d86e0e62f5069ff99f59 (patch) | |
tree | 2d8ef9bf8b71872475728f778f0c095ae395785b /mm | |
parent | f741a79e982cf56d7584435bad663553ffe6715f (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.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; |
1861 | debug: | 1864 | debug: |
1862 | if (!alloc_debug_processing(s, c->page, object, addr)) | 1865 | if (!alloc_debug_processing(s, c->page, object, addr)) |