As manpage of migrate_pages, the errno should be set to EINVAL when none of the specified nodes contain memory. However, when new_nodes is null, i.e. the specified nodes also do not have memory, as the following case: new_nodes = 0; old_nodes = 0xf; ret = migrate_pages(pid, old_nodes, new_nodes, MAX); The ret will be 0 and no errno is set. This patch is to add nodes_empty check to fix above case. Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx> --- mm/mempolicy.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 8798ecb..58352cc 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1402,6 +1402,11 @@ static int copy_nodes_to_user(unsigned long __user *mask, unsigned long maxnode, if (err) goto out; + if (nodes_empty(*new)) { + err = -EINVAL; + goto out; + } + /* Find the mm_struct */ rcu_read_lock(); task = pid ? find_task_by_vpid(pid) : current; -- 1.7.12.4 -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html