diff options
author | Christoph Lameter <clameter@sgi.com> | 2007-08-31 00:12:08 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-31 01:42:23 -0700 |
commit | 3b42d28b2a04b3c9830eb865288239d45eccc402 (patch) | |
tree | 776a297ef8bd8a879da74290543907014abe6198 /mm | |
parent | dec4ad86c2fbea062e9ef9caa6d6e79f7c5e0b12 (diff) | |
download | op-kernel-dev-3b42d28b2a04b3c9830eb865288239d45eccc402.zip op-kernel-dev-3b42d28b2a04b3c9830eb865288239d45eccc402.tar.gz |
Page migration: Do not accept invalid nodes in the target nodeset
Page migration currently does not check if the target of the move contains
nodes that that are invalid (if root attempts to migrate pages)
and may try to allocate from invalid nodes if these are specified
leading to oopses.
Return -EINVAL if an offline node is specified.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Shaohua Li <shaohua.li@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mempolicy.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 172abff..bb54b88c 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -955,6 +955,11 @@ asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode, goto out; } + if (!nodes_subset(new, node_online_map)) { + err = -EINVAL; + goto out; + } + err = security_task_movememory(task); if (err) goto out; |