linux/samples/rust
Danilo Krummrich bde0149ce5 rust: dma: tie DMA allocations to the device's bound lifetime
DMA allocations carry device resources (e.g. IOMMU mappings) that must
 not outlive the device's bound lifetime. Add lifetime parameters to the
 DMA allocation types (Coherent, CoherentBox, CoherentHandle) to enforce
 at compile time that they are freed before the device is unbound.
 
 Since DMA types with lifetime parameters are exposed through debugfs in
 the nova-core driver, first drop the unnecessary T: 'static bound from
 the debugfs ScopedDir file creation methods by formalizing a type
 invariant on FileOps.
 
 This is a stable tag for other trees to merge.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCap13MgAKCRBFlHeO1qrK
 Ls1tAP9ugwnM86l9VMAN/oe82DKYLdrtM3CE1exgPBVyfXKICAD+Ky8yR7PDuN+6
 G9NInskajlb5+bzCWBpbt7Y2XylmDAw=
 =AwqP
 -----END PGP SIGNATURE-----

Merge patch series "rust: dma: tie DMA allocations to the device's bound lifetime"

Danilo Krummrich <dakr@kernel.org> says:

DMA allocations carry device resources (e.g. IOMMU mappings) that must
not outlive the device's bound lifetime. Add lifetime parameters to the
DMA allocation types (Coherent, CoherentBox, CoherentHandle) to enforce
at compile time that they are freed before the device is unbound.

Since DMA types with lifetime parameters are exposed through debugfs in
the nova-core driver, first drop the unnecessary T: 'static bound from
the debugfs ScopedDir file creation methods by formalizing a type
invariant on FileOps.

Link: https://patch.msgid.link/20260830193824.471089-1-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-09-07 22:50:04 +02:00
..
hostprogs
Kconfig samples: rust: add Rust serial device bus sample device driver 2026-07-23 22:48:31 +02:00
Makefile samples: rust: add Rust serial device bus sample device driver 2026-07-23 22:48:31 +02:00
rust_configfs.rs rust: configfs: replace kernel::c_str! with C-Strings 2026-01-15 09:26:49 +01:00
rust_debugfs_scoped.rs samples: rust: debugfs: fix excessive stack use 2026-07-21 00:48:25 +02:00
rust_debugfs.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_dma.rs rust: dma: tie Coherent and CoherentBox to the device's bound lifetime 2026-09-04 17:58:47 +02:00
rust_driver_auxiliary.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_driver_faux.rs rust: faux: add Device type with AsBusDevice support 2026-07-12 15:55:51 +02:00
rust_driver_i2c.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_driver_pci.rs samples: rust: pci: specify base type for registers 2026-09-06 13:39:49 +02:00
rust_driver_platform.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_driver_serdev.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_driver_usb.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_i2c_client.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00
rust_minimal.rs rust: module_param: support bool parameters 2026-08-06 13:29:03 +02:00
rust_misc_device.rs samples: rust_misc_device: use vertical import style 2026-05-23 13:47:32 +02:00
rust_print_events.c rust: samples: add tracepoint to Rust sample 2024-11-04 16:21:44 -05:00
rust_print_main.rs samples: rust: remove imports available via prelude 2026-01-26 18:15:20 +01:00
rust_soc.rs rust: driver: remove $module_table_name from module_device_table 2026-07-30 22:50:15 +02:00