Re: [PATCH v3 2/2] drm/tyr: allow userspace buffers to be mismatched

From: Alice Ryhl

Date: Mon Oct 19 2026 - 04:02:49 EST


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 <deborah.brouwer@xxxxxxxxxxxxx>
> ---
> 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