]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 6 Feb 2020 13:50:28 +0000 (13:50 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 16:22:18 +0000 (17:22 +0100)
commit723a44f2288e2e5075b0dab4a855f5dc28af7298
tree2096cd26398b93e8ada4b77c25c0c4c0a28f3fce
parent2ffeef3db3581f2ba904dad16d3ea97c3e21029e
powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size

commit f2b67ef90b0d5eca0f2255e02cf2f620bc0ddcdb upstream.

Commit 55c8fc3f4930 ("powerpc/8xx: reintroduce 16K pages with HW
assistance") redefined pte_t as a struct of 4 pte_basic_t, because
in 16K pages mode there are four identical entries in the
page table. But the size of hugepage tables is calculated based
of the size of (void *). Therefore, we end up with page tables
of size 1k instead of 4k for 512k pages.

As 512k hugepage tables are the same size as standard page tables,
ie 4k, use the standard page tables instead of PGT_CACHE tables.

Fixes: 3fb69c6a1a13 ("powerpc/8xx: Enable 512k hugepage support with HW assistance")
Cc: stable@vger.kernel.org # v5.0+
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/90ec56a2315be602494619ed0223bba3b0b8d619.1580997007.git.christophe.leroy@c-s.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/mm/hugetlbpage.c