summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2011-03-24 02:42:24 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-24 05:46:25 +0300
commitaf4a662144884a7dbb19acbef70878b3b955f928 (patch)
treef16b04ed13de1ad1938af551e406879b90d4b0ca
parentc14f35c70e068392ccae0b2d6f755baea5eed4d6 (diff)
downloadlinux-af4a662144884a7dbb19acbef70878b3b955f928.tar.xz
memcg: remove NULL check from lookup_page_cgroup() result
The page_cgroup array is set up before even fork is initialized. I seriously doubt that this code executes before the array is alloc'd. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Cc: Minchan Kim <minchan.kim@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/memcontrol.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index b94cd24c5baa..3a2d54bdf076 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2369,10 +2369,7 @@ static int mem_cgroup_charge_common(struct page *page, struct mm_struct *mm,
}
pc = lookup_page_cgroup(page);
- /* can happen at boot */
- if (unlikely(!pc))
- return 0;
- prefetchw(pc);
+ BUG_ON(!pc); /* XXX: remove this and move pc lookup into commit */
ret = __mem_cgroup_try_charge(mm, gfp_mask, &mem, oom, page_size);
if (ret || !mem)