[PATCH v3 0/2] rust: improve `ForeignOwnable`
From: Andreas Hindborg
Date: Thu Jun 12 2025 - 09:13:48 EST
This series improves `ForeignOwnable` by:
- changing the way we assert pointer allignment,
- improving the safety requirements of the trait.
Signed-off-by: Andreas Hindborg <a.hindborg@xxxxxxxxxx>
---
Changes in v3:
- Remove more instances of absolute paths to `ffi` types.
- Reword safety requirements in terms of function guarantees.
- Add a patch to restrict use of null pointers with `ForeignOwnable`.
- Link to v2: https://lore.kernel.org/r/20250610-pointed-to-v2-1-fad8f92cf1e5@xxxxxxxxxx
Changes in v2:
- Replace qualified path with `use` for `crate::ffi::c_void`.
- Fix a typo and rephrase docs for `ForeignOwnable`.
- Reorganize docs for `ForeignOwnable::into_foreign`.
- Link to v1: https://lore.kernel.org/r/20250605-pointed-to-v1-1-ee1e262912cc@xxxxxxxxxx
---
Andreas Hindborg (2):
rust: types: add FOREIGN_ALIGN to ForeignOwnable
rust: types: require `ForeignOwnable::into_foreign` return non-null
rust/kernel/alloc/kbox.rs | 41 +++++++++++++++++++++++------------------
rust/kernel/miscdevice.rs | 10 +++++-----
rust/kernel/pci.rs | 2 +-
rust/kernel/platform.rs | 2 +-
rust/kernel/sync/arc.rs | 24 +++++++++++++-----------
rust/kernel/types.rs | 46 +++++++++++++++++++++++-----------------------
rust/kernel/xarray.rs | 9 +++++----
7 files changed, 71 insertions(+), 63 deletions(-)
---
base-commit: ec7714e4947909190ffb3041a03311a975350fe0
change-id: 20250605-pointed-to-6170ae01520f
Best regards,
--
Andreas Hindborg <a.hindborg@xxxxxxxxxx>