aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorChristoffer Dall <cdall@cs.columbia.edu>2012-12-21 13:03:50 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-11 09:03:36 -0800
commit8fafe011ed532384b845e53fec7b9392310e56e6 (patch)
tree3598364487c3f04beb1d22c57eacb961dcee083f /mm
parent812e6380b5b54fa5eb3189f83b3cbb22a6b7bd69 (diff)
downloadkernel_samsung_smdk4412-8fafe011ed532384b845e53fec7b9392310e56e6.zip
kernel_samsung_smdk4412-8fafe011ed532384b845e53fec7b9392310e56e6.tar.gz
kernel_samsung_smdk4412-8fafe011ed532384b845e53fec7b9392310e56e6.tar.bz2
mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED
commit ad4b3fb7ff9940bcdb1e4cd62bd189d10fa636ba upstream. Unfortunately with !CONFIG_PAGEFLAGS_EXTENDED, (!PageHead) is false, and (PageHead) is true, for tail pages. If this is indeed the intended behavior, which I doubt because it breaks cache cleaning on some ARM systems, then the nomenclature is highly problematic. This patch makes sure PageHead is only true for head pages and PageTail is only true for tail pages, and neither is true for non-compound pages. [ This buglet seems ancient - seems to have been introduced back in Apr 2008 in commit 6a1e7f777f61: "pageflags: convert to the use of new macros". And the reason nobody noticed is because the PageHead() tests are almost all about just sanity-checking, and only used on pages that are actual page heads. The fact that the old code returned true for tail pages too was thus not really noticeable. - Linus ] Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu> Acked-by: Andrea Arcangeli <aarcange@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Will Deacon <Will.Deacon@arm.com> Cc: Steve Capper <Steve.Capper@arm.com> Cc: Christoph Lameter <cl@linux.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions