[PATCH V15 2/7] dma-resv: Fix undefined symbol when CONFIG_DMA_SHARED_BUFFER is disabled

Gary Guo gary at garyguo.net
Mon Apr 27 23:39:34 AEST 2026


On Sun Apr 26, 2026 at 11:59 AM BST, Mukesh Kumar Chaurasiya (IBM) wrote:
> 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 at amd.com>
> Signed-off-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras at gmail.com>

Reviewed-by: Gary Guo <gary at garyguo.net>

> ---
>  rust/helpers/helpers.c | 2 ++
>  1 file changed, 2 insertions(+)



More information about the Linuxppc-dev mailing list