mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
rust: drm: set fops.owner from driver module pointer
Change `create_fops()` to accept an owner module pointer instead of hardcoding `null_mut()`, ensuring the kernel correctly tracks the module owning the DRM device's file operations. Assisted-by: opencode:glm-5.2 Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org> Reviewed-by: Gary Guo <gary@garyguo.net> Acked-by: Danilo Krummrich <dakr@kernel.org> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Alvin Sun <alvin.sun@linux.dev> Link: https://patch.msgid.link/20260811-fix-fops-owner-v10-5-7e71776f9dbe@linux.dev Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
@@ -203,7 +203,8 @@ impl<T: drm::Driver> UnregisteredDevice<T> {
|
||||
fops: &Self::GEM_FOPS,
|
||||
};
|
||||
|
||||
const GEM_FOPS: bindings::file_operations = drm::gem::create_fops();
|
||||
const GEM_FOPS: bindings::file_operations =
|
||||
drm::gem::create_fops(crate::module::this_module::<T::OwnerModule>().as_ptr());
|
||||
|
||||
/// Create a new `UnregisteredDevice` for a `drm::Driver`.
|
||||
///
|
||||
|
||||
@@ -387,10 +387,10 @@ impl<T: DriverObject, Ctx: DeviceContext> AllocImpl for Object<T, Ctx> {
|
||||
};
|
||||
}
|
||||
|
||||
pub(super) const fn create_fops() -> bindings::file_operations {
|
||||
pub(super) const fn create_fops(owner: *mut bindings::module) -> bindings::file_operations {
|
||||
let mut fops: bindings::file_operations = pin_init::zeroed();
|
||||
|
||||
fops.owner = core::ptr::null_mut();
|
||||
fops.owner = owner;
|
||||
fops.open = Some(bindings::drm_open);
|
||||
fops.release = Some(bindings::drm_release);
|
||||
fops.unlocked_ioctl = Some(bindings::drm_ioctl);
|
||||
|
||||
Reference in New Issue
Block a user