[PATCH v2] rust: drm: Improve safety comment when using `Pin::into_inner_unchecked`

Ewan Chorynski posted 1 patch 1 month, 1 week ago
rust/kernel/drm/gem/mod.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] rust: drm: Improve safety comment when using `Pin::into_inner_unchecked`
Posted by Ewan Chorynski 1 month, 1 week ago
The safety requirements for `Pin::into_inner_unchecked` state that the
returned pointer must be treated as pinned until it is dropped. Such a
guarantee is provided by the `ARef` type. This patch improves the safety
comment to better reflect this.

Signed-off-by: Ewan Chorynski <ewan.chorynski@ik.me>
---
Changes in v2:
- Fix typos
- Add Signed-off-by
- Link to v1: https://lore.kernel.org/r/20251226-drm-gem-safety-comment-v1-1-5ae56d8194b9@ik.me
---
 rust/kernel/drm/gem/mod.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rust/kernel/drm/gem/mod.rs b/rust/kernel/drm/gem/mod.rs
index a7f682e95c01..ed11d9c0f427 100644
--- a/rust/kernel/drm/gem/mod.rs
+++ b/rust/kernel/drm/gem/mod.rs
@@ -210,7 +210,7 @@ pub fn new(dev: &drm::Device<T::Driver>, size: usize) -> Result<ARef<Self>> {
         // SAFETY: The arguments are all valid per the type invariants.
         to_result(unsafe { bindings::drm_gem_object_init(dev.as_raw(), obj.obj.get(), size) })?;
 
-        // SAFETY: We never move out of `Self`.
+        // SAFETY: We will never move out of `Self` as `ARef<Self>` is always treated as pinned.
         let ptr = KBox::into_raw(unsafe { Pin::into_inner_unchecked(obj) });
 
         // SAFETY: `ptr` comes from `KBox::into_raw` and hence can't be NULL.

---
base-commit: 6c8e404891e1059564d1a15a71d3d76070304dde
change-id: 20251226-drm-gem-safety-comment-1152e457575f

Best regards,
-- 
Ewan Chorynski <ewan.chorynski@ik.me>
Re: [PATCH v2] rust: drm: Improve safety comment when using `Pin::into_inner_unchecked`
Posted by Danilo Krummrich 1 month ago
On 12/28/25 5:15 PM, Ewan Chorynski wrote:
> The safety requirements for `Pin::into_inner_unchecked` state that the
> returned pointer must be treated as pinned until it is dropped. Such a
> guarantee is provided by the `ARef` type. This patch improves the safety
> comment to better reflect this.
> 
> Signed-off-by: Ewan Chorynski <ewan.chorynski@ik.me>
Applied to drm-rust-next, thanks!