[PATCH] arm64: Don't report clear pmds and puds as huge
Christoffer Dall
christoffer.dall at linaro.org
Wed Jul 1 05:59:44 PDT 2015
On Wed, Jul 01, 2015 at 01:24:34PM +0100, Steve Capper wrote:
> On 1 July 2015 at 13:08, Christoffer Dall <christoffer.dall at linaro.org> wrote:
> > The current pmd_huge() and pud_huge() functions simply check if the table
> > bit is not set and reports the entries as huge in that case. This is
> > counter-intuitive as a clear pmd/pud cannot also be a huge pmd/pud, and
> > it is inconsistent with at least arm and x86.
> >
> > To prevent others from making the same mistake as me in looking at code
> > that calls these functions and to fix an issue with KVM on arm64 that
> > causes memory corruption due to incorrect page reference counting
> > resulting from this mistake, let's change the behavior.
> >
> > Cc: stable at vger.kernel.org
>
> Thanks Christoffer.
>
> It may be worth adding:
>
> Fixes: 084bd29810a5 ("ARM64: mm: HugeTLB support.")
>
> And, please feel free to add:
>
> Reviewed-by: Steve Capper <steve.capper at linaro.org>
>
Thanks!
-Christoffer
More information about the linux-arm-kernel
mailing list