summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHugh Dickins <hughd@google.com>2012-03-05 20:52:55 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-06 08:18:23 -0800
commitc09ff089aa62380ad904ea785bd713c56720270e (patch)
tree6ddc11131cd557d0d3a32ddeb829bfefe542101b /lib
parentf3969bf78f140f437f51787dfc2751943ba454d1 (diff)
downloadlinux-3.10-c09ff089aa62380ad904ea785bd713c56720270e.tar.gz
linux-3.10-c09ff089aa62380ad904ea785bd713c56720270e.tar.bz2
linux-3.10-c09ff089aa62380ad904ea785bd713c56720270e.zip
page_cgroup: fix horrid swap accounting regression
Why is memcg's swap accounting so broken? Insane counts, wrong ownership, unfreeable structures, which later get freed and then accessed after free. Turns out to be a tiny a little 3.3-rc1 regression in 9fb4b7cc0724 "page_cgroup: add helper function to get swap_cgroup": the helper function (actually named lookup_swap_cgroup()) returns an address using void* arithmetic, but the structure in question is a short. Signed-off-by: Hugh Dickins <hughd@google.com> Reviewed-by: Bob Liu <lliubbo@gmail.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Johannes Weiner <jweiner@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions