]> git.baikalelectronics.ru Git - kernel.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)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 17 Feb 2020 01:47:05 +0000 (12:47 +1100)
commitf10e8dad462b8eeb9e0685ed05016ea752369567
tree33b985cc5a392360c105eed437f958dcc40ef40a
parent17c2356e786f2bfe0f32ef424853dc0aa995c38a
powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size

Commit 4549a0a55815 ("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: 51f754bcf384 ("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
arch/powerpc/mm/hugetlbpage.c