On Fri, Oct 16, 2026 at 01:44:21PM -0700, Deborah Brouwer wrote:
> Allow userspace to provide a buffer that is smaller or larger than the
> object that the kernel expects to write into it.
> 
> Set a minimum buffer size to match those in PANTHOR_UOBJ_MIN_SIZE. If
> userspace provides at least the minimum buffer size, then simply write
> until the buffer is full.
> 
> If userspace provides a larger buffer than necessary, then zero out the
> remaining buffer.
> 
> This ensures UAPI compatibility with Panthor.
> 
> Signed-off-by: Deborah Brouwer <[email protected]>
> ---
>  drivers/gpu/drm/tyr/file.rs | 47 
> +++++++++++++++++++++++++++++++++++++--------
>  1 file changed, 39 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tyr/file.rs b/drivers/gpu/drm/tyr/file.rs
> index 9f60a90d4948..a153aa453ed1 100644
> --- a/drivers/gpu/drm/tyr/file.rs
> +++ b/drivers/gpu/drm/tyr/file.rs
> @@ -1,11 +1,18 @@
>  // SPDX-License-Identifier: GPL-2.0 or MIT
>  
> +use core::mem::{
> +    offset_of,
> +    size_of_val, //
> +};

size_of_val is present in kernel::prelude::* and does not need explicit
import.

> +    transmute::AsBytes,

Use the trait from zerocopy instead.

> +    let mut writer = UserSlice::new(UserPtr::from_addr(usr_dst as usize), 
> size).writer();

On 32-bit this will truncate upper bits. I guess that probably matches
what Panthor does. Is it what we want?

Alice

Reply via email to