summaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorAndrea Arcangeli2011-01-14 00:47:16 +0100
committerLinus Torvalds2011-01-14 02:32:47 +0100
commit91600e9e592e48736e630851c83da2ad6bf0e91f (patch)
tree5b17c58699eed9c7440812f0f2f29f4c80972973 /mm/memcontrol.c
parentthp: add debug checks for mapcount related invariants (diff)
downloadkernel-qcow2-linux-91600e9e592e48736e630851c83da2ad6bf0e91f.tar.gz
kernel-qcow2-linux-91600e9e592e48736e630851c83da2ad6bf0e91f.tar.xz
kernel-qcow2-linux-91600e9e592e48736e630851c83da2ad6bf0e91f.zip
thp: fix memory-failure hugetlbfs vs THP collision
hugetlbfs was changed to allow memory failure to migrate the hugetlbfs pages and that broke THP as split_huge_page was then called on hugetlbfs pages too. compound_head/order was also run unsafe on THP pages that can be splitted at any time. All compound_head() invocations in memory-failure.c that are run on pages that aren't pinned and that can be freed and reused from under us (while compound_head is running) are buggy because compound_head can return a dangling pointer, but I'm not fixing this as this is a generic memory-failure bug not specific to THP but it applies to hugetlbfs too, so I can fix it later after THP is merged upstream. Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
0 files changed, 0 insertions, 0 deletions