2023-12-04 18:33:04

by Sidhartha Kumar

[permalink] [raw]
Subject: [PATCH] mm/hugetlb: have CONFIG_HUGETLB_PAGE select CONFIG_XARRAY_MULTI

After commit a08c7193e4f1 "mm/filemap: remove hugetlb special casing in
filemap.c", hugetlb pages are stored in the page cache in base page sized
indexes. This leads to mutli index stores in the xarray which is only
supporting through CONFIG_XARRAY_MULTI. The other page cache user of
multi index stores ,THP, selects XARRAY_MULTI. Have CONFIG_HUGETLB_PAGE
follow this behavior as well to avoid the BUG() with a CONFIG_HUGETLB_PAGE
&& !CONFIG_XARRAY_MULTI config.

Fixes:a08c7193e4f1 ("mm/filemap: remove hugetlb special casing in filemap.c")
Reported-by: Al Viro <[email protected]>
Signed-off-by: Sidhartha Kumar <[email protected]>
---
fs/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/Kconfig b/fs/Kconfig
index 0b404e61c80b..cf62d86b514f 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -279,6 +279,7 @@ endif # HUGETLBFS

config HUGETLB_PAGE
def_bool HUGETLBFS
+ select XARRAY_MULTI

config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
def_bool HUGETLB_PAGE
--
2.42.0