summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMukesh Kumar Chaurasiya (IBM) <mkchauras@gmail.com>2026-07-08 13:54:49 +0530
committerMadhavan Srinivasan <maddy@linux.ibm.com>2026-07-31 16:57:48 +0530
commitbe809b60cbb61aab96179f44ac3670242ae72996 (patch)
treec4c3ad62dd41e9f72d57250be667442ab2746757
parent00cdfd072c709c608606461d7d44d4613119bfa9 (diff)
downloadlinux-next-be809b60cbb61aab96179f44ac3670242ae72996.tar.gz
linux-next-be809b60cbb61aab96179f44ac3670242ae72996.zip
dma-resv: Fix undefined symbol when CONFIG_DMA_SHARED_BUFFER is disabled
When building with LLVM=1 for architectures like powerpc where CONFIG_DMA_SHARED_BUFFER is not enabled, the build fails with: ld.lld: error: undefined symbol: dma_resv_reset_max_fences >>> referenced by helpers.c >>> rust/helpers/helpers.o:(rust_helper_dma_resv_unlock) The issue occurs because: 1. CONFIG_DEBUG_MUTEXES=y is enabled 2. CONFIG_DMA_SHARED_BUFFER is not enabled 3. dma_resv_reset_max_fences() is declared in the header when CONFIG_DEBUG_MUTEXES is set 4. But the function is only compiled in drivers/dma-buf/dma-resv.c, which is only built when CONFIG_DMA_SHARED_BUFFER is enabled 5. Rust helpers call dma_resv_unlock() which calls dma_resv_reset_max_fences(), causing an undefined symbol Fix this by compiling `dma-resv.c` file only when CONFIG_DMA_SHARED_BUFFER is enabled. Fixes: 9b836641d3bf ("rust: helpers: Add bindings/wrappers for dma_resv_lock") Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras@gmail.com> Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> Link: https://patch.msgid.link/20260708082454.1254320-3-mkchauras@gmail.com
-rw-r--r--rust/helpers/helpers.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rust/helpers/helpers.c b/rust/helpers/helpers.c
index 998e31052e66..4b90a1390ad5 100644
--- a/rust/helpers/helpers.c
+++ b/rust/helpers/helpers.c
@@ -58,7 +58,9 @@
#include "cred.c"
#include "device.c"
#include "dma.c"
+#ifdef CONFIG_DMA_SHARED_BUFFER
#include "dma-resv.c"
+#endif
#include "drm.c"
#include "drm_gpuvm.c"
#include "err.c"