On Wed, Sep 3, 2025 at 9:46 AM Boris Brezillon <boris.brezil...@collabora.com> wrote: > > On Thu, 28 Aug 2025 13:01:16 -0700 > Chia-I Wu <olva...@gmail.com> wrote: > > > Fail early from panthor_vm_bind_prepare_op_ctx instead of late from > > ops->map_pages. > > > > Signed-off-by: Chia-I Wu <olva...@gmail.com> > > Reviewed-by: Boris Brezillon <boris.brezil...@collabora.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) { >