aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/pgtable-book3s64.c
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2018-07-02 11:14:50 -0600
committerJonathan Corbet <corbet@lwn.net>2018-07-02 11:14:50 -0600
commit5f6654094ff35a7a92eb76667788ef633595e4ea (patch)
tree8404c5fb245cddbc6877b97a9bf53139c95da852 /arch/powerpc/mm/pgtable-book3s64.c
parent5105730fbf6789ff9e20837bdefe32e8ba133595 (diff)
parent021c91791a5e7e85c567452f1be3e4c2c6cb6063 (diff)
downloadkernel_replicant_linux-5f6654094ff35a7a92eb76667788ef633595e4ea.tar.gz
kernel_replicant_linux-5f6654094ff35a7a92eb76667788ef633595e4ea.tar.bz2
kernel_replicant_linux-5f6654094ff35a7a92eb76667788ef633595e4ea.zip
Merge tag 'v4.18-rc3' into docs-next
-rc1 broke the docs build due to changes in the e100/e1000 drivers; -rc3 got the fixes via the networking tree. Pull in -rc3 so that the docs tree can actually build the docs again.
Diffstat (limited to 'arch/powerpc/mm/pgtable-book3s64.c')
-rw-r--r--arch/powerpc/mm/pgtable-book3s64.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/powerpc/mm/pgtable-book3s64.c b/arch/powerpc/mm/pgtable-book3s64.c
index c1f4ca45c93a..4afbfbb64bfd 100644
--- a/arch/powerpc/mm/pgtable-book3s64.c
+++ b/arch/powerpc/mm/pgtable-book3s64.c
@@ -409,6 +409,18 @@ static inline void pgtable_free(void *table, int index)
case PUD_INDEX:
kmem_cache_free(PGT_CACHE(PUD_CACHE_INDEX), table);
break;
+#if defined(CONFIG_PPC_4K_PAGES) && defined(CONFIG_HUGETLB_PAGE)
+ /* 16M hugepd directory at pud level */
+ case HTLB_16M_INDEX:
+ BUILD_BUG_ON(H_16M_CACHE_INDEX <= 0);
+ kmem_cache_free(PGT_CACHE(H_16M_CACHE_INDEX), table);
+ break;
+ /* 16G hugepd directory at the pgd level */
+ case HTLB_16G_INDEX:
+ BUILD_BUG_ON(H_16G_CACHE_INDEX <= 0);
+ kmem_cache_free(PGT_CACHE(H_16G_CACHE_INDEX), table);
+ break;
+#endif
/* We don't free pgd table via RCU callback */
default:
BUG();