AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/amdkfd: Fix Unchecked Return Values
@ 2025-10-28 18:52 Sunday Clement
  2025-10-30  4:02 ` Kim, Jonathan
  0 siblings, 1 reply; 2+ messages in thread
From: Sunday Clement @ 2025-10-28 18:52 UTC (permalink / raw)
  To: amd-gfx
  Cc: Jonathan.Kim, Harish.Kasiviswanathan, Felix.Kuehling,
	Sunday Clement

Properly Check for return values from calls to debug functions in
runtime_disable().

v2: storing the last non zero returned value from the loop.

Signed-off-by: Sunday Clement <Sunday.Clement@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index 0f0719528bcc..22925df6a791 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -2826,7 +2826,7 @@ static int runtime_enable(struct kfd_process *p, uint64_t r_debug,
 
 static int runtime_disable(struct kfd_process *p)
 {
-	int i = 0, ret;
+	int i = 0, ret = 0;
 	bool was_enabled = p->runtime_info.runtime_state == DEBUG_RUNTIME_STATE_ENABLED;
 
 	p->runtime_info.runtime_state = DEBUG_RUNTIME_STATE_DISABLED;
@@ -2863,6 +2863,7 @@ static int runtime_disable(struct kfd_process *p)
 	/* disable ttmp setup */
 	for (i = 0; i < p->n_pdds; i++) {
 		struct kfd_process_device *pdd = p->pdds[i];
+		int last_err = 0;
 
 		if (kfd_dbg_is_per_vmid_supported(pdd->dev)) {
 			pdd->spi_dbg_override =
@@ -2872,14 +2873,17 @@ static int runtime_disable(struct kfd_process *p)
 					pdd->dev->vm_info.last_vmid_kfd);
 
 			if (!pdd->dev->kfd->shared_resources.enable_mes)
-				debug_refresh_runlist(pdd->dev->dqm);
+				last_err = debug_refresh_runlist(pdd->dev->dqm);
 			else
-				kfd_dbg_set_mes_debug_mode(pdd,
+				last_err = kfd_dbg_set_mes_debug_mode(pdd,
 							   !kfd_dbg_has_cwsr_workaround(pdd->dev));
+
+			if (last_err)
+				ret = last_err;
 		}
 	}
 
-	return 0;
+	return ret;
 }
 
 static int kfd_ioctl_runtime_enable(struct file *filep, struct kfd_process *p, void *data)
-- 
2.43.0


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

* RE: [PATCH v2] drm/amdkfd: Fix Unchecked Return Values
  2025-10-28 18:52 [PATCH v2] drm/amdkfd: Fix Unchecked Return Values Sunday Clement
@ 2025-10-30  4:02 ` Kim, Jonathan
  0 siblings, 0 replies; 2+ messages in thread
From: Kim, Jonathan @ 2025-10-30  4:02 UTC (permalink / raw)
  To: Clement, Sunday, amd-gfx@lists.freedesktop.org
  Cc: Kasiviswanathan, Harish, Kuehling, Felix

[Public]

> -----Original Message-----
> From: Clement, Sunday <Sunday.Clement@amd.com>
> Sent: Tuesday, October 28, 2025 2:53 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Kim, Jonathan <Jonathan.Kim@amd.com>; Kasiviswanathan, Harish
> <Harish.Kasiviswanathan@amd.com>; Kuehling, Felix
> <Felix.Kuehling@amd.com>; Clement, Sunday <Sunday.Clement@amd.com>
> Subject: [PATCH v2] drm/amdkfd: Fix Unchecked Return Values
>
> Properly Check for return values from calls to debug functions in
> runtime_disable().
>
> v2: storing the last non zero returned value from the loop.
>
> Signed-off-by: Sunday Clement <Sunday.Clement@amd.com>

Reviewed-by: Jonathan Kim <jonathan.kim@amd.com>

> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> index 0f0719528bcc..22925df6a791 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> @@ -2826,7 +2826,7 @@ static int runtime_enable(struct kfd_process *p,
> uint64_t r_debug,
>
>  static int runtime_disable(struct kfd_process *p)
>  {
> -     int i = 0, ret;
> +     int i = 0, ret = 0;
>       bool was_enabled = p->runtime_info.runtime_state ==
> DEBUG_RUNTIME_STATE_ENABLED;
>
>       p->runtime_info.runtime_state = DEBUG_RUNTIME_STATE_DISABLED;
> @@ -2863,6 +2863,7 @@ static int runtime_disable(struct kfd_process *p)
>       /* disable ttmp setup */
>       for (i = 0; i < p->n_pdds; i++) {
>               struct kfd_process_device *pdd = p->pdds[i];
> +             int last_err = 0;
>
>               if (kfd_dbg_is_per_vmid_supported(pdd->dev)) {
>                       pdd->spi_dbg_override =
> @@ -2872,14 +2873,17 @@ static int runtime_disable(struct kfd_process *p)
>                                       pdd->dev->vm_info.last_vmid_kfd);
>
>                       if (!pdd->dev->kfd->shared_resources.enable_mes)
> -                             debug_refresh_runlist(pdd->dev->dqm);
> +                             last_err = debug_refresh_runlist(pdd->dev-
> >dqm);
>                       else
> -                             kfd_dbg_set_mes_debug_mode(pdd,
> +                             last_err = kfd_dbg_set_mes_debug_mode(pdd,
>
> !kfd_dbg_has_cwsr_workaround(pdd->dev));
> +
> +                     if (last_err)
> +                             ret = last_err;
>               }
>       }
>
> -     return 0;
> +     return ret;
>  }
>
>  static int kfd_ioctl_runtime_enable(struct file *filep, struct kfd_process *p, void
> *data)
> --
> 2.43.0


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

end of thread, other threads:[~2025-10-30  4:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-28 18:52 [PATCH v2] drm/amdkfd: Fix Unchecked Return Values Sunday Clement
2025-10-30  4:02 ` Kim, Jonathan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox