From: Alvin Sun <[email protected]> Expose the task's address space size. It is used by the Tyr driver for splitting a VM's GPU address space into user and kernel regions.
Signed-off-by: Alvin Sun <[email protected]> --- rust/kernel/mm.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rust/kernel/mm.rs b/rust/kernel/mm.rs index 4764d7b68f2a7..d2dfbb7d43972 100644 --- a/rust/kernel/mm.rs +++ b/rust/kernel/mm.rs @@ -149,6 +149,13 @@ pub fn mmget_not_zero(&self) -> Option<ARef<MmWithUser>> { None } } + + /// The size of the process virtual address space. + #[inline] + pub fn task_size(&self) -> usize { + // SAFETY: `self.as_raw()` is a valid pointer to an `mm_struct` per the type invariants. + unsafe { (*self.as_raw()).__bindgen_anon_1.task_size } + } } // These methods require `mm_users` to be non-zero. -- 2.43.0
