Skip to content
  • Lai Jiangshan's avatar
    mempolicy: fix is_valid_nodemask() · d3eb1570
    Lai Jiangshan authored
    is_valid_nodemask() was introduced by commit 19770b32 ("mm: filter
    based on a nodemask as well as a gfp_mask").  but it does not match its
    comments, because it does not check the zone which > policy_zone.
    
    Also in commit b377fd39
    
     ("Apply memory policies to top two highest
    zones when highest zone is ZONE_MOVABLE"), this commits told us, if
    highest zone is ZONE_MOVABLE, we should also apply memory policies to
    it.  so ZONE_MOVABLE should be valid zone for policies.
    is_valid_nodemask() need to be changed to match it.
    
    Fix: check all zones, even its zoneid > policy_zone.  Use
    nodes_intersects() instead open code to check it.
    
    Reported-by: default avatarWen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: default avatarTang Chen <tangchen@cn.fujitsu.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
    Cc: Jiang Liu <jiang.liu@huawei.com>
    Cc: Jianguo Wu <wujianguo@huawei.com>
    Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d3eb1570