[PATCH] mempolicy.c GFP fix
zonelist_policy() forgot to mask non-zone bits from gfp when comparing zone number with policy_zone. ACKed-by: Andi Kleen <ak@suse.de> Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
bc86120a85
Коммит
01424961e6
|
@ -661,7 +661,7 @@ static struct zonelist *zonelist_policy(unsigned int __nocast gfp, struct mempol
|
|||
case MPOL_BIND:
|
||||
/* Lower zones don't get a policy applied */
|
||||
/* Careful: current->mems_allowed might have moved */
|
||||
if (gfp >= policy_zone)
|
||||
if ((gfp & GFP_ZONEMASK) >= policy_zone)
|
||||
if (cpuset_zonelist_valid_mems_allowed(policy->v.zonelist))
|
||||
return policy->v.zonelist;
|
||||
/*FALL THROUGH*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче