* [PATCH] drm/panthor: check bo offset alignment in vm bind
@ 2025-08-28 20:01 Chia-I Wu
2025-09-02 16:20 ` Liviu Dudau
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chia-I Wu @ 2025-08-28 20:01 UTC (permalink / raw)
To: Boris Brezillon, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
dri-devel, linux-kernel
Fail early from panthor_vm_bind_prepare_op_ctx instead of late from
ops->map_pages.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@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;
switch (op->flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) {
--
2.51.0.318.gd7df087d1a-goog
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/panthor: check bo offset alignment in vm bind
2025-08-28 20:01 [PATCH] drm/panthor: check bo offset alignment in vm bind Chia-I Wu
@ 2025-09-02 16:20 ` Liviu Dudau
2025-09-03 11:29 ` Steven Price
2025-09-03 16:46 ` Boris Brezillon
2 siblings, 0 replies; 5+ messages in thread
From: Liviu Dudau @ 2025-09-02 16:20 UTC (permalink / raw)
To: Chia-I Wu
Cc: Boris Brezillon, Steven Price, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
linux-kernel
On Thu, Aug 28, 2025 at 01:01:16PM -0700, Chia-I Wu wrote:
> Fail early from panthor_vm_bind_prepare_op_ctx instead of late from
> ops->map_pages.
>
> Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Best regards,
Liviu
> ---
> 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;
>
> switch (op->flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) {
> --
> 2.51.0.318.gd7df087d1a-goog
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/panthor: check bo offset alignment in vm bind
2025-08-28 20:01 [PATCH] drm/panthor: check bo offset alignment in vm bind Chia-I Wu
2025-09-02 16:20 ` Liviu Dudau
@ 2025-09-03 11:29 ` Steven Price
2025-09-03 16:46 ` Boris Brezillon
2 siblings, 0 replies; 5+ messages in thread
From: Steven Price @ 2025-09-03 11:29 UTC (permalink / raw)
To: Chia-I Wu, Boris Brezillon, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
dri-devel, linux-kernel
On 28/08/2025 21:01, Chia-I Wu wrote:
> Fail early from panthor_vm_bind_prepare_op_ctx instead of late from
> ops->map_pages.
>
> Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
I'll push this to drm-misc-next.
Thanks,
Steve
> ---
> 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;
>
> switch (op->flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) {
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/panthor: check bo offset alignment in vm bind
2025-08-28 20:01 [PATCH] drm/panthor: check bo offset alignment in vm bind Chia-I Wu
2025-09-02 16:20 ` Liviu Dudau
2025-09-03 11:29 ` Steven Price
@ 2025-09-03 16:46 ` Boris Brezillon
2025-09-03 19:46 ` Chia-I Wu
2 siblings, 1 reply; 5+ messages in thread
From: Boris Brezillon @ 2025-09-03 16:46 UTC (permalink / raw)
To: Chia-I Wu
Cc: Steven Price, Liviu Dudau, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
linux-kernel
On Thu, 28 Aug 2025 13:01:16 -0700
Chia-I Wu <olvaffe@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 <olvaffe@gmail.com>
> Reviewed-by: Boris Brezillon <boris.brezillon@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.
>
> switch (op->flags & DRM_PANTHOR_VM_BIND_OP_TYPE_MASK) {
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/panthor: check bo offset alignment in vm bind
2025-09-03 16:46 ` Boris Brezillon
@ 2025-09-03 19:46 ` Chia-I Wu
0 siblings, 0 replies; 5+ messages in thread
From: Chia-I Wu @ 2025-09-03 19:46 UTC (permalink / raw)
To: Boris Brezillon
Cc: Steven Price, Liviu Dudau, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
linux-kernel
On Wed, Sep 3, 2025 at 9:46 AM Boris Brezillon
<boris.brezillon@collabora.com> wrote:
>
> On Thu, 28 Aug 2025 13:01:16 -0700
> Chia-I Wu <olvaffe@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 <olvaffe@gmail.com>
> > Reviewed-by: Boris Brezillon <boris.brezillon@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) {
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-09-03 19:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-28 20:01 [PATCH] drm/panthor: check bo offset alignment in vm bind Chia-I Wu
2025-09-02 16:20 ` Liviu Dudau
2025-09-03 11:29 ` Steven Price
2025-09-03 16:46 ` Boris Brezillon
2025-09-03 19:46 ` Chia-I Wu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).