memcg: do not expose uninitialized mem_cgroup_per_node to world
If somebody is touching data too early, it might be easier to diagnose a problem when dereferencing NULL at mem->info.nodeinfo[node] than trying to understand why mem_cgroup_per_zone is [un|partly]initialized. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									715a5ee82a
								
							
						
					
					
						commit
						0a619e5870
					
				| @ -4742,7 +4742,6 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *memcg, int node) | ||||
| 	if (!pn) | ||||
| 		return 1; | ||||
| 
 | ||||
| 	memcg->info.nodeinfo[node] = pn; | ||||
| 	for (zone = 0; zone < MAX_NR_ZONES; zone++) { | ||||
| 		mz = &pn->zoneinfo[zone]; | ||||
| 		for_each_lru(l) | ||||
| @ -4751,6 +4750,7 @@ static int alloc_mem_cgroup_per_zone_info(struct mem_cgroup *memcg, int node) | ||||
| 		mz->on_tree = false; | ||||
| 		mz->mem = memcg; | ||||
| 	} | ||||
| 	memcg->info.nodeinfo[node] = pn; | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user