linux-yocto/rust
Danilo Krummrich 2e9fdbe5ec rust: drm: device: drop_in_place() the drm::Device in release()
In drm::Device::new() we allocate with __drm_dev_alloc() and return an
ARef<drm::Device>.

When the reference count of the drm::Device falls to zero, the C code
automatically calls drm_dev_release(), which eventually frees the memory
allocated in drm::Device::new().

However, due to that, drm::Device::drop() is never called. As a result
the destructor of the user's private data, i.e. drm::Device::data is
never called. Hence, fix this by calling drop_in_place() from the DRM
device's release callback.

Fixes: 1e4b8896c0 ("rust: drm: add device abstraction")
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://lore.kernel.org/r/20250629153747.72536-1-dakr@kernel.org
2025-07-04 00:33:56 +02:00
..
bindings Rust changes for v6.16 2025-06-04 21:18:37 -07:00
helpers Rust changes for v6.16 2025-06-04 21:18:37 -07:00
kernel rust: drm: device: drop_in_place() the drm::Device in release() 2025-07-04 00:33:56 +02:00
macros Rust changes for v6.16 2025-06-04 21:18:37 -07:00
pin-init pin-init changes for v6.16 2025-05-18 20:42:49 +02:00
uapi drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
.gitignore
.kunitconfig rust: add kunitconfig 2025-03-19 23:22:21 +01:00
bindgen_parameters rust: map __kernel_size_t and friends also to usize/isize 2024-11-10 23:58:00 +01:00
build_error.rs
compiler_builtins.rs ARM: 9441/1: rust: Enable Rust support for ARMv7 2025-03-26 13:31:16 +00:00
exports.c rust: exports: improve grammar in commentary 2024-10-21 17:35:33 +02:00
ffi.rs rust: use absolute paths in macros referencing core and kernel 2025-05-23 00:12:14 +02:00
Makefile Rust changes for v6.16 2025-06-04 21:18:37 -07:00