Re: drm/xe: Linker errors on configfs symbols
From: Lucas De Marchi
Date: Fri Sep 26 2025 - 11:52:39 EST
On Wed, Sep 24, 2025 at 03:19:22PM -0700, Dave Hansen wrote:
With a stock 6.17-rc7 and this config:
https://hansen.beer/~dave/intel/config.xe.20250924
I'm seeing:
ld: vmlinux.o: in function `check_sw_disable':
.../linux.runme/drivers/gpu/drm/xe/xe_hw_engine.c:812: undefined reference to `xe_configfs_get_engines_allowed'
ld: vmlinux.o: in function `xe_survivability_mode_is_requested':
.../linux.runme/drivers/gpu/drm/xe/xe_survivability_mode.c:228: undefined reference to `xe_configfs_get_survivability_mode'
ld: .../linux.runme/drivers/gpu/drm/xe/xe_survivability_mode.c:233: undefined reference to `xe_configfs_clear_survivability_mode'
ld: vmlinux.o: in function `BSWAP_SHUFB_CTL':
sha1-avx2-asm.o:(.rodata+0x57def0): undefined reference to `xe_configfs_init'
ld: sha1-avx2-asm.o:(.rodata+0x57def8): undefined reference to `xe_configfs_exit'
vmlinux.o:(.debug_info+0x3176eb6): relocation truncated to fit: R_X86_64_32 against `.debug_loclists'
I'm compiling the 'xe' driver in to the kernel and I've got configfs compiled in as a module, which is (I suspect) the reason this slipped through the cracks until now.
yep, usually we have xe as a module, in which case we just rely on the
stub configfs functions.
In any case, I don't see any Kconfig dependencies for configfs in the xe code. The attached patch at least hacks around the issue for me.
Is there a better way of fixing this?
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index 714d5702dfd7..d04547fc5311 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -47,6 +47,7 @@ config DRM_XE
select AUXILIARY_BUS
select HMM_MIRROR
select REGMAP if I2C
+ select CONFIGFS_FS
Maybe it'd be better to have it like this so it's still possible to
remove it?
config DRM_XE_CONFIGFS
depends on DRM_XE
depends on CONFIGFS_FS
Lucas De Marchi
help
Driver for Intel Xe2 series GPUs and later. Experimental support
for Xe series is also available.