ARM: pgd allocation: retry on failure
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 30 Nov 2013 12:52:31 +0000 (12:52 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 29 Dec 2013 12:36:20 +0000 (12:36 +0000)
Make pgd allocation retry on failure; we really need this to succeed
otherwise fork() can trigger OOMs.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/pgd.c

index 1046b373d1aedb2823e3bb62f106681f9b63fc2a..249379535be2c151bc2eacd41b6c8a15f586c3cb 100644 (file)
@@ -23,7 +23,7 @@
 #define __pgd_alloc()  kmalloc(PTRS_PER_PGD * sizeof(pgd_t), GFP_KERNEL)
 #define __pgd_free(pgd)        kfree(pgd)
 #else
-#define __pgd_alloc()  (pgd_t *)__get_free_pages(GFP_KERNEL, 2)
+#define __pgd_alloc()  (pgd_t *)__get_free_pages(GFP_KERNEL | __GFP_REPEAT, 2)
 #define __pgd_free(pgd)        free_pages((unsigned long)pgd, 2)
 #endif