[PATCH] sys_mbind sanity checking
Make sure maxnodes is safe size before calculating nlongs in get_nodes(). Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
74910e6c7d
commit
636f13c174
@@ -808,6 +808,8 @@ static int get_nodes(nodemask_t *nodes, const unsigned long __user *nmask,
|
|||||||
nodes_clear(*nodes);
|
nodes_clear(*nodes);
|
||||||
if (maxnode == 0 || !nmask)
|
if (maxnode == 0 || !nmask)
|
||||||
return 0;
|
return 0;
|
||||||
|
if (maxnode > PAGE_SIZE)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
nlongs = BITS_TO_LONGS(maxnode);
|
nlongs = BITS_TO_LONGS(maxnode);
|
||||||
if ((maxnode % BITS_PER_LONG) == 0)
|
if ((maxnode % BITS_PER_LONG) == 0)
|
||||||
|
Reference in New Issue
Block a user