summaryrefslogtreecommitdiffstats
path: root/kernel/profile.c
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2006-02-07 12:58:52 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-07 16:12:33 -0800
commit8519fb30e438f8088b71a94a7d5a660a814d3872 (patch)
tree8d29a7b1fa33e5f65e649d363cfa10e83c4fab97 /kernel/profile.c
parent99f6d61bda82d09b2d94414d413d39f66a0b7da2 (diff)
downloadlinux-stable-8519fb30e438f8088b71a94a7d5a660a814d3872.tar.gz
linux-stable-8519fb30e438f8088b71a94a7d5a660a814d3872.tar.bz2
linux-stable-8519fb30e438f8088b71a94a7d5a660a814d3872.zip
[PATCH] mm: compound release fix
Compound pages on SMP systems can now often be freed from pagetables via the release_pages path. This uses put_page_testzero which does not handle compound pages at all. Releasing constituent pages from process mappings decrements their count to a large negative number and leaks the reference at the head page - net result is a memory leak. The problem was hidden because the debug check in put_page_testzero itself actually did take compound pages into consideration. Fix the bug and the debug check. Signed-off-by: Nick Piggin <npiggin@suse.de> Acked-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/profile.c')
0 files changed, 0 insertions, 0 deletions