memcg: NULL pointer dereference at rmdir on some NUMA systems
N_POSSIBLE doesn't means there is memory...and force_empty can visit invalid node which have no pgdat. To visit all valid nodes, N_HIGH_MEMORY should be used. Reported-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Tested-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
248ae0d43f
commit
299b4eaa30
@@ -1685,7 +1685,7 @@ move_account:
|
|||||||
/* This is for making all *used* pages to be on LRU. */
|
/* This is for making all *used* pages to be on LRU. */
|
||||||
lru_add_drain_all();
|
lru_add_drain_all();
|
||||||
ret = 0;
|
ret = 0;
|
||||||
for_each_node_state(node, N_POSSIBLE) {
|
for_each_node_state(node, N_HIGH_MEMORY) {
|
||||||
for (zid = 0; !ret && zid < MAX_NR_ZONES; zid++) {
|
for (zid = 0; !ret && zid < MAX_NR_ZONES; zid++) {
|
||||||
enum lru_list l;
|
enum lru_list l;
|
||||||
for_each_lru(l) {
|
for_each_lru(l) {
|
||||||
|
Reference in New Issue
Block a user