2007-08-22 02:16:23

by Shaohua Li

[permalink] [raw]
Subject: [PATCH] get_nodes should ignore invalid node

get_nodes doesn't check if nodes in node mask are valid, cause a kernel
oops when an invalid node is used..

Signed-off-by: Shaohua Li <[email protected]>

Index: linux/mm/mempolicy.c
===================================================================
--- linux.orig/mm/mempolicy.c 2007-07-25 09:14:33.000000000 +0800
+++ linux/mm/mempolicy.c 2007-08-21 13:15:41.000000000 +0800
@@ -850,6 +850,8 @@ static int get_nodes(nodemask_t *nodes,
if (copy_from_user(nodes_addr(*nodes), nmask, nlongs*sizeof(unsigned long)))
return -EFAULT;
nodes_addr(*nodes)[nlongs-1] &= endmask;
+
+ nodes_and(*nodes, *nodes, node_online_map);
return 0;
}