From 9ecd112dc1dcdb903ebd3f1971cb1256094e73c4 Mon Sep 17 00:00:00 2001 From: Shengqi Chen Date: Thu, 7 Dec 2023 04:37:50 +0800 Subject: compact: workaround for GPL-only symbols on riscv from Linux 6.2 Since Linux 6.2, the implementation of flush_dcache_page on riscv references GPL-only symbol `PageHuge`, breaking the build of zfs. This patch uses existing mechanism to override flush_dcache_page, removing the call to `PageHuge`. According to comments in kernel, it is only used to do some check against HugeTLB pages, which only exist in userspace. ZFS uses flush_dcache_page only on kernel pages, thus this patch will not introduce any behaviour change. See also: torvalds/linux@d33deda, openzfs/zfs@589f59b Reviewed-by: Brian Behlendorf Signed-off-by: Shengqi Chen Closes #14974 Closes #15627 --- config/kernel-flush_dcache_page.m4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'config/kernel-flush_dcache_page.m4') diff --git a/config/kernel-flush_dcache_page.m4 b/config/kernel-flush_dcache_page.m4 index 2340c386e..aa916c87d 100644 --- a/config/kernel-flush_dcache_page.m4 +++ b/config/kernel-flush_dcache_page.m4 @@ -1,7 +1,8 @@ dnl # dnl # Starting from Linux 5.13, flush_dcache_page() becomes an inline -dnl # function and may indirectly referencing GPL-only cpu_feature_keys on -dnl # powerpc +dnl # function and may indirectly referencing GPL-only symbols: +dnl # on powerpc: cpu_feature_keys +dnl # on riscv: PageHuge (added from 6.2) dnl # dnl # -- cgit v1.2.3