Re: [PATCH v13 2/7] rust: add dma coherent allocator abstraction.

From: Jason Gunthorpe
Date: Fri Mar 21 2025 - 13:25:23 EST


On Fri, Mar 07, 2025 at 01:06:19PM +0200, Abdiel Janulgue wrote:

> + // SAFETY: Device pointer is guaranteed as valid by the type invariant on `Device`.
> + let ret = unsafe {
> + bindings::dma_alloc_attrs(
> + dev.as_raw(),
> + size,
> + &mut dma_handle,
> + gfp_flags.as_raw(),
> + dma_attrs.as_raw(),
> + )

This is not the correct safety statement, the device must have a driver
bound to call this function, a struct device reference is not
sufficient.

I belive Danilo was suggesting to ignore this unsafety for now, but if
so it should be documented correctly.

Also think the use of devres here is going to be very problematic for
drivers to use as I said in other emails. :(

Jason