diff --git a/[refs] b/[refs] index 1040074899c3..00112931d667 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7198f3c9b13c7aa1e5d9f7ff74c0ea303174feff +refs/heads/master: c6b6ef8bb05af632889c5536513b9f4004961f73 diff --git a/trunk/mm/mempolicy.c b/trunk/mm/mempolicy.c index 6cdfa1df57f6..8034abd3a135 100644 --- a/trunk/mm/mempolicy.c +++ b/trunk/mm/mempolicy.c @@ -806,9 +806,13 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask, err = 0; if (nmask) { - task_lock(current); - get_policy_nodemask(pol, nmask); - task_unlock(current); + if (mpol_store_user_nodemask(pol)) { + *nmask = pol->w.user_nodemask; + } else { + task_lock(current); + get_policy_nodemask(pol, nmask); + task_unlock(current); + } } out: