* [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