diff options
-rw-r--r-- | mm/vmalloc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index d89034a393f2..011b446f8758 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -1642,6 +1642,11 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, | |||
1642 | for (i = 0; i < area->nr_pages; i++) { | 1642 | for (i = 0; i < area->nr_pages; i++) { |
1643 | struct page *page; | 1643 | struct page *page; |
1644 | 1644 | ||
1645 | if (fatal_signal_pending(current)) { | ||
1646 | area->nr_pages = i; | ||
1647 | goto fail; | ||
1648 | } | ||
1649 | |||
1645 | if (node == NUMA_NO_NODE) | 1650 | if (node == NUMA_NO_NODE) |
1646 | page = alloc_page(alloc_mask); | 1651 | page = alloc_page(alloc_mask); |
1647 | else | 1652 | else |