diff options
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 5a737ed9dac7..7430640f9816 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -1809,11 +1809,12 @@ int cpuset_zone_allowed(struct zone *z, gfp_t gfp_mask) | |||
1809 | if (gfp_mask & __GFP_HARDWALL) /* If hardwall request, stop here */ | 1809 | if (gfp_mask & __GFP_HARDWALL) /* If hardwall request, stop here */ |
1810 | return 0; | 1810 | return 0; |
1811 | 1811 | ||
1812 | if (current->flags & PF_EXITING) /* Let dying task have memory */ | ||
1813 | return 1; | ||
1814 | |||
1812 | /* Not hardwall and node outside mems_allowed: scan up cpusets */ | 1815 | /* Not hardwall and node outside mems_allowed: scan up cpusets */ |
1813 | down(&callback_sem); | 1816 | down(&callback_sem); |
1814 | 1817 | ||
1815 | if (current->flags & PF_EXITING) /* Let dying task have memory */ | ||
1816 | return 1; | ||
1817 | task_lock(current); | 1818 | task_lock(current); |
1818 | cs = nearest_exclusive_ancestor(current->cpuset); | 1819 | cs = nearest_exclusive_ancestor(current->cpuset); |
1819 | task_unlock(current); | 1820 | task_unlock(current); |