All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] accel/ivpu: Fixes for 6.13
@ 2024-12-10 13:09 Jacek Lawrynowicz
  2024-12-10 13:09 ` [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list() Jacek Lawrynowicz
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Jacek Lawrynowicz @ 2024-12-10 13:09 UTC (permalink / raw)
  To: dri-devel; +Cc: oded.gabbay, quic_jhugo, Jacek Lawrynowicz

This patchset addresses several issues in the accel/ivpu module,
including fixing a general protection fault in ivpu_bo_list().

Jacek Lawrynowicz (3):
  accel/ivpu: Fix general protection fault in ivpu_bo_list()
  accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init()
  accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()

 drivers/accel/ivpu/ivpu_gem.c         |  2 +-
 drivers/accel/ivpu/ivpu_mmu_context.c | 10 +++++++---
 drivers/accel/ivpu/ivpu_pm.c          |  2 +-
 3 files changed, 9 insertions(+), 5 deletions(-)

--
2.45.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list()
  2024-12-10 13:09 [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
@ 2024-12-10 13:09 ` Jacek Lawrynowicz
  2024-12-13 15:52   ` Jeffrey Hugo
  2024-12-10 13:09 ` [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init() Jacek Lawrynowicz
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Jacek Lawrynowicz @ 2024-12-10 13:09 UTC (permalink / raw)
  To: dri-devel
  Cc: oded.gabbay, quic_jhugo, Jacek Lawrynowicz, stable,
	Karol Wachowski

Check if ctx is not NULL before accessing its fields.

Fixes: 37dee2a2f433 ("accel/ivpu: Improve buffer object debug logs")
Cc: <stable@vger.kernel.org> # v6.8
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Karol Wachowski <karol.wachowski@intel.com>
---
 drivers/accel/ivpu/ivpu_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/accel/ivpu/ivpu_gem.c b/drivers/accel/ivpu/ivpu_gem.c
index d8e97a760fbc0..16178054e6296 100644
--- a/drivers/accel/ivpu/ivpu_gem.c
+++ b/drivers/accel/ivpu/ivpu_gem.c
@@ -409,7 +409,7 @@ static void ivpu_bo_print_info(struct ivpu_bo *bo, struct drm_printer *p)
 	mutex_lock(&bo->lock);
 
 	drm_printf(p, "%-9p %-3u 0x%-12llx %-10lu 0x%-8x %-4u",
-		   bo, bo->ctx->id, bo->vpu_addr, bo->base.base.size,
+		   bo, bo->ctx ? bo->ctx->id : 0, bo->vpu_addr, bo->base.base.size,
 		   bo->flags, kref_read(&bo->base.base.refcount));
 
 	if (bo->base.pages)
-- 
2.45.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init()
  2024-12-10 13:09 [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
  2024-12-10 13:09 ` [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list() Jacek Lawrynowicz
@ 2024-12-10 13:09 ` Jacek Lawrynowicz
  2024-12-13 15:53   ` Jeffrey Hugo
  2024-12-10 13:09 ` [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal() Jacek Lawrynowicz
  2024-12-19 12:20 ` [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
  3 siblings, 1 reply; 8+ messages in thread
From: Jacek Lawrynowicz @ 2024-12-10 13:09 UTC (permalink / raw)
  To: dri-devel; +Cc: oded.gabbay, quic_jhugo, Jacek Lawrynowicz, Karol Wachowski

Add appropriate error handling to ensure all allocated resources are
released upon encountering an error.

Fixes: a74f4d991352 ("accel/ivpu: Defer MMU root page table allocation")
Cc: Karol Wachowski <karol.wachowski@intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Karol Wachowski <karol.wachowski@intel.com>
---
 drivers/accel/ivpu/ivpu_mmu_context.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/accel/ivpu/ivpu_mmu_context.c b/drivers/accel/ivpu/ivpu_mmu_context.c
index 891967a95bc3c..0af614dfb6f92 100644
--- a/drivers/accel/ivpu/ivpu_mmu_context.c
+++ b/drivers/accel/ivpu/ivpu_mmu_context.c
@@ -612,18 +612,22 @@ int ivpu_mmu_reserved_context_init(struct ivpu_device *vdev)
 	if (!ivpu_mmu_ensure_pgd(vdev, &vdev->rctx.pgtable)) {
 		ivpu_err(vdev, "Failed to allocate root page table for reserved context\n");
 		ret = -ENOMEM;
-		goto unlock;
+		goto err_ctx_fini;
 	}
 
 	ret = ivpu_mmu_cd_set(vdev, vdev->rctx.id, &vdev->rctx.pgtable);
 	if (ret) {
 		ivpu_err(vdev, "Failed to set context descriptor for reserved context\n");
-		goto unlock;
+		goto err_ctx_fini;
 	}
 
-unlock:
 	mutex_unlock(&vdev->rctx.lock);
 	return ret;
+
+err_ctx_fini:
+	mutex_unlock(&vdev->rctx.lock);
+	ivpu_mmu_context_fini(vdev, &vdev->rctx);
+	return ret;
 }
 
 void ivpu_mmu_reserved_context_fini(struct ivpu_device *vdev)
-- 
2.45.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()
  2024-12-10 13:09 [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
  2024-12-10 13:09 ` [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list() Jacek Lawrynowicz
  2024-12-10 13:09 ` [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init() Jacek Lawrynowicz
@ 2024-12-10 13:09 ` Jacek Lawrynowicz
  2024-12-13 15:54   ` Jeffrey Hugo
  2024-12-19 12:20 ` [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
  3 siblings, 1 reply; 8+ messages in thread
From: Jacek Lawrynowicz @ 2024-12-10 13:09 UTC (permalink / raw)
  To: dri-devel
  Cc: oded.gabbay, quic_jhugo, Jacek Lawrynowicz, stable,
	Karol Wachowski

Move pm_runtime_set_active() to ivpu_pm_inti() so when
ivpu_ipc_send_receive_internal() is executed before ivpu_pm_enable()
it already has correct runtime state, even if last resume was
not successful.

Fixes: 8ed520ff4682 ("accel/ivpu: Move set autosuspend delay to HW specific code")
Cc: <stable@vger.kernel.org> # v6.7+
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Karol Wachowski <karol.wachowski@intel.com>
---
 drivers/accel/ivpu/ivpu_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/accel/ivpu/ivpu_pm.c b/drivers/accel/ivpu/ivpu_pm.c
index dbc0711e28d13..949f4233946c6 100644
--- a/drivers/accel/ivpu/ivpu_pm.c
+++ b/drivers/accel/ivpu/ivpu_pm.c
@@ -378,6 +378,7 @@ void ivpu_pm_init(struct ivpu_device *vdev)
 
 	pm_runtime_use_autosuspend(dev);
 	pm_runtime_set_autosuspend_delay(dev, delay);
+	pm_runtime_set_active(dev);
 
 	ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", delay);
 }
@@ -392,7 +393,6 @@ void ivpu_pm_enable(struct ivpu_device *vdev)
 {
 	struct device *dev = vdev->drm.dev;
 
-	pm_runtime_set_active(dev);
 	pm_runtime_allow(dev);
 	pm_runtime_mark_last_busy(dev);
 	pm_runtime_put_autosuspend(dev);
-- 
2.45.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list()
  2024-12-10 13:09 ` [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list() Jacek Lawrynowicz
@ 2024-12-13 15:52   ` Jeffrey Hugo
  0 siblings, 0 replies; 8+ messages in thread
From: Jeffrey Hugo @ 2024-12-13 15:52 UTC (permalink / raw)
  To: Jacek Lawrynowicz, dri-devel; +Cc: oded.gabbay, stable, Karol Wachowski

On 12/10/2024 6:09 AM, Jacek Lawrynowicz wrote:
> Check if ctx is not NULL before accessing its fields.
> 
> Fixes: 37dee2a2f433 ("accel/ivpu: Improve buffer object debug logs")
> Cc: <stable@vger.kernel.org> # v6.8
> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
> Reviewed-by: Karol Wachowski <karol.wachowski@intel.com>
> ---
>   drivers/accel/ivpu/ivpu_gem.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/accel/ivpu/ivpu_gem.c b/drivers/accel/ivpu/ivpu_gem.c
> index d8e97a760fbc0..16178054e6296 100644
> --- a/drivers/accel/ivpu/ivpu_gem.c
> +++ b/drivers/accel/ivpu/ivpu_gem.c
> @@ -409,7 +409,7 @@ static void ivpu_bo_print_info(struct ivpu_bo *bo, struct drm_printer *p)
>   	mutex_lock(&bo->lock);
>   
>   	drm_printf(p, "%-9p %-3u 0x%-12llx %-10lu 0x%-8x %-4u",
> -		   bo, bo->ctx->id, bo->vpu_addr, bo->base.base.size,
> +		   bo, bo->ctx ? bo->ctx->id : 0, bo->vpu_addr, bo->base.base.size,
>   		   bo->flags, kref_read(&bo->base.base.refcount));
>   
>   	if (bo->base.pages)

Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init()
  2024-12-10 13:09 ` [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init() Jacek Lawrynowicz
@ 2024-12-13 15:53   ` Jeffrey Hugo
  0 siblings, 0 replies; 8+ messages in thread
From: Jeffrey Hugo @ 2024-12-13 15:53 UTC (permalink / raw)
  To: Jacek Lawrynowicz, dri-devel; +Cc: oded.gabbay, Karol Wachowski

On 12/10/2024 6:09 AM, Jacek Lawrynowicz wrote:
> Add appropriate error handling to ensure all allocated resources are
> released upon encountering an error.
> 
> Fixes: a74f4d991352 ("accel/ivpu: Defer MMU root page table allocation")
> Cc: Karol Wachowski <karol.wachowski@intel.com>
> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
> Reviewed-by: Karol Wachowski <karol.wachowski@intel.com>

Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()
  2024-12-10 13:09 ` [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal() Jacek Lawrynowicz
@ 2024-12-13 15:54   ` Jeffrey Hugo
  0 siblings, 0 replies; 8+ messages in thread
From: Jeffrey Hugo @ 2024-12-13 15:54 UTC (permalink / raw)
  To: Jacek Lawrynowicz, dri-devel; +Cc: oded.gabbay, stable, Karol Wachowski

On 12/10/2024 6:09 AM, Jacek Lawrynowicz wrote:
> Move pm_runtime_set_active() to ivpu_pm_inti() so when

ivpu_pm_init()

With that

Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/3] accel/ivpu: Fixes for 6.13
  2024-12-10 13:09 [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
                   ` (2 preceding siblings ...)
  2024-12-10 13:09 ` [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal() Jacek Lawrynowicz
@ 2024-12-19 12:20 ` Jacek Lawrynowicz
  3 siblings, 0 replies; 8+ messages in thread
From: Jacek Lawrynowicz @ 2024-12-19 12:20 UTC (permalink / raw)
  To: dri-devel; +Cc: oded.gabbay, quic_jhugo

Applied to drm-misc-fixes

On 12/10/2024 2:09 PM, Jacek Lawrynowicz wrote:
> This patchset addresses several issues in the accel/ivpu module,
> including fixing a general protection fault in ivpu_bo_list().
> 
> Jacek Lawrynowicz (3):
>   accel/ivpu: Fix general protection fault in ivpu_bo_list()
>   accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init()
>   accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()
> 
>  drivers/accel/ivpu/ivpu_gem.c         |  2 +-
>  drivers/accel/ivpu/ivpu_mmu_context.c | 10 +++++++---
>  drivers/accel/ivpu/ivpu_pm.c          |  2 +-
>  3 files changed, 9 insertions(+), 5 deletions(-)
> 
> --
> 2.45.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-12-19 12:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-10 13:09 [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz
2024-12-10 13:09 ` [PATCH 1/3] accel/ivpu: Fix general protection fault in ivpu_bo_list() Jacek Lawrynowicz
2024-12-13 15:52   ` Jeffrey Hugo
2024-12-10 13:09 ` [PATCH 2/3] accel/ivpu: Fix memory leak in ivpu_mmu_reserved_context_init() Jacek Lawrynowicz
2024-12-13 15:53   ` Jeffrey Hugo
2024-12-10 13:09 ` [PATCH 3/3] accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal() Jacek Lawrynowicz
2024-12-13 15:54   ` Jeffrey Hugo
2024-12-19 12:20 ` [PATCH 0/3] accel/ivpu: Fixes for 6.13 Jacek Lawrynowicz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.