diff options
-rw-r--r-- | include/asm-generic/error-injection.h | 1 | ||||
-rw-r--r-- | mm/page_alloc.c | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/include/asm-generic/error-injection.h b/include/asm-generic/error-injection.h index 296c65442f00..95a159a4137f 100644 --- a/include/asm-generic/error-injection.h +++ b/include/asm-generic/error-injection.h | |||
@@ -8,6 +8,7 @@ enum { | |||
8 | EI_ETYPE_NULL, /* Return NULL if failure */ | 8 | EI_ETYPE_NULL, /* Return NULL if failure */ |
9 | EI_ETYPE_ERRNO, /* Return -ERRNO if failure */ | 9 | EI_ETYPE_ERRNO, /* Return -ERRNO if failure */ |
10 | EI_ETYPE_ERRNO_NULL, /* Return -ERRNO or NULL if failure */ | 10 | EI_ETYPE_ERRNO_NULL, /* Return -ERRNO or NULL if failure */ |
11 | EI_ETYPE_TRUE, /* Return true if failure */ | ||
11 | }; | 12 | }; |
12 | 13 | ||
13 | struct error_injection_entry { | 14 | struct error_injection_entry { |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 75865e1325b5..cde5dac6229a 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -3131,7 +3131,7 @@ static int __init setup_fail_page_alloc(char *str) | |||
3131 | } | 3131 | } |
3132 | __setup("fail_page_alloc=", setup_fail_page_alloc); | 3132 | __setup("fail_page_alloc=", setup_fail_page_alloc); |
3133 | 3133 | ||
3134 | static bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | 3134 | static bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) |
3135 | { | 3135 | { |
3136 | if (order < fail_page_alloc.min_order) | 3136 | if (order < fail_page_alloc.min_order) |
3137 | return false; | 3137 | return false; |
@@ -3181,13 +3181,19 @@ late_initcall(fail_page_alloc_debugfs); | |||
3181 | 3181 | ||
3182 | #else /* CONFIG_FAIL_PAGE_ALLOC */ | 3182 | #else /* CONFIG_FAIL_PAGE_ALLOC */ |
3183 | 3183 | ||
3184 | static inline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | 3184 | static inline bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) |
3185 | { | 3185 | { |
3186 | return false; | 3186 | return false; |
3187 | } | 3187 | } |
3188 | 3188 | ||
3189 | #endif /* CONFIG_FAIL_PAGE_ALLOC */ | 3189 | #endif /* CONFIG_FAIL_PAGE_ALLOC */ |
3190 | 3190 | ||
3191 | static noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | ||
3192 | { | ||
3193 | return __should_fail_alloc_page(gfp_mask, order); | ||
3194 | } | ||
3195 | ALLOW_ERROR_INJECTION(should_fail_alloc_page, TRUE); | ||
3196 | |||
3191 | /* | 3197 | /* |
3192 | * Return true if free base pages are above 'mark'. For high-order checks it | 3198 | * Return true if free base pages are above 'mark'. For high-order checks it |
3193 | * will return true of the order-0 watermark is reached and there is at least | 3199 | * will return true of the order-0 watermark is reached and there is at least |