diff options
author | Hugh Dickins <hughd@google.com> | 2012-01-12 17:19:54 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-12 20:13:10 -0800 |
commit | 90b3feaec8ffb167abd8903bf111605c2f035aa8 (patch) | |
tree | 503c27c343397e1c94dce61e922fae18c7cd7172 /init | |
parent | 12d27107867fc7216e8faaff0b894b0f162dcf75 (diff) | |
download | linux-90b3feaec8ffb167abd8903bf111605c2f035aa8.tar.gz linux-90b3feaec8ffb167abd8903bf111605c2f035aa8.tar.bz2 linux-90b3feaec8ffb167abd8903bf111605c2f035aa8.zip |
memcg: fix mem_cgroup_print_bad_page
If DEBUG_VM, mem_cgroup_print_bad_page() is called whenever bad_page()
shows a "Bad page state" message, removes page from circulation, adds a
taint and continues. This is at a very low level, often when a spinlock
is held (sometimes when page table lock is held, for example).
We want to recover from this badness, not make it worse: we must not
kmalloc memory here, we must not do a cgroup path lookup via dubious
pointers. No doubt that code was useful to debug a particular case at one
time, and may be again, but take it out of the mainline kernel.
Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions