[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPaKu7ROxE-7bSp3q1Nf0rz-gVUGL7v-QPXWEhB4EQhjqvP1WQ@mail.gmail.com>
Date: Wed, 3 Sep 2025 12:46:42 -0700
From: Chia-I Wu <olvaffe@...il.com>
To: Boris Brezillon <boris.brezillon@...labora.com>
Cc: Steven Price <steven.price@....com>, Liviu Dudau <liviu.dudau@....com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/panthor: check bo offset alignment in vm bind
On Wed, Sep 3, 2025 at 9:46 AM Boris Brezillon
<boris.brezillon@...labora.com> wrote:
>
> On Thu, 28 Aug 2025 13:01:16 -0700
> Chia-I Wu <olvaffe@...il.com> wrote:
>
> > Fail early from panthor_vm_bind_prepare_op_ctx instead of late from
> > ops->map_pages.
> >
> > Signed-off-by: Chia-I Wu <olvaffe@...il.com>
> > Reviewed-by: Boris Brezillon <boris.brezillon@...labora.com>
> > ---
> > drivers/gpu/drm/panthor/panthor_mmu.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
> > index bad720f23eb70..6dec4354e3789 100644
> > --- a/drivers/gpu/drm/panthor/panthor_mmu.c
> > +++ b/drivers/gpu/drm/panthor/panthor_mmu.c
> > @@ -1222,7 +1222,7 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx,
> > (flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) != DRM_PANTHOR_VM_BIND_OP_TYPE_MAP)
> > return -EINVAL;
> >
> > - /* Make sure the VA and size are aligned and in-bounds. */
> > + /* Make sure the VA and size are in-bounds. */
> > if (size > bo->base.base.size || offset > bo->base.base.size - size)
> > return -EINVAL;
> >
> > @@ -2447,7 +2447,7 @@ panthor_vm_bind_prepare_op_ctx(struct drm_file *file,
> > int ret;
> >
> > /* Aligned on page size. */
> > - if (!IS_ALIGNED(op->va | op->size, vm_pgsz))
> > + if (!IS_ALIGNED(op->va | op->size | op->bo_offset, vm_pgsz))
> > return -EINVAL;
>
> Now that I look at this, I think we'd be better moving this alignment
> check to panthor_vm_prepare_[un]map_op_ctx() to cover the in-kernel
> users.
Yeah, it would be nice for this to validate for both, but it looks
like the patch has been pushed.
panthor_vm_alloc_va already validates for kernel space so the
suggested change is not urgent. Besides, I feel there might be other
missing validations. Perhaps we can wait for igt tests[1], expand
them, and improve our validation story more systematically.
[1] https://lists.freedesktop.org/archives/dri-devel/2025-August/521887.html
>
> >
> > switch (op->flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) {
>
Powered by blists - more mailing lists