* [PATCH 1/2] drm/amd/display: fix incorrrect valid irq check
@ 2021-06-28 9:27 Guchun Chen
2021-06-28 9:27 ` [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset Guchun Chen
0 siblings, 1 reply; 4+ messages in thread
From: Guchun Chen @ 2021-06-28 9:27 UTC (permalink / raw)
To: amd-gfx, rodrigo.siqueira, aurabindo.pillai, harry.wentland,
tianci.yin, alexander.deucher
Cc: Guchun Chen
valid DAL irq should be < DAL_IRQ_SOURCES_NUMBER.
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
---
drivers/gpu/drm/amd/display/dc/irq_types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/dc/irq_types.h b/drivers/gpu/drm/amd/display/dc/irq_types.h
index 5f9346622301..1139b9eb9f6f 100644
--- a/drivers/gpu/drm/amd/display/dc/irq_types.h
+++ b/drivers/gpu/drm/amd/display/dc/irq_types.h
@@ -165,7 +165,7 @@ enum irq_type
};
#define DAL_VALID_IRQ_SRC_NUM(src) \
- ((src) <= DAL_IRQ_SOURCES_NUMBER && (src) > DC_IRQ_SOURCE_INVALID)
+ ((src) < DAL_IRQ_SOURCES_NUMBER && (src) > DC_IRQ_SOURCE_INVALID)
/* Number of Page Flip IRQ Sources. */
#define DAL_PFLIP_IRQ_SRC_NUM \
--
2.17.1
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset
2021-06-28 9:27 [PATCH 1/2] drm/amd/display: fix incorrrect valid irq check Guchun Chen
@ 2021-06-28 9:27 ` Guchun Chen
2021-06-28 9:50 ` Quan, Evan
2021-06-28 13:54 ` Harry Wentland
0 siblings, 2 replies; 4+ messages in thread
From: Guchun Chen @ 2021-06-28 9:27 UTC (permalink / raw)
To: amd-gfx, rodrigo.siqueira, aurabindo.pillai, harry.wentland,
tianci.yin, alexander.deucher
Cc: Guchun Chen
During GPU reset, when receiving a DMCUB OUTBUX0 interrupt,
DAL code will set it to be OUTBOX interrupt and sets hw interrupt.
However, OUTBOX interrupt is not registered yet, so a NULL pointer
access will be executed.
Call Trace:
dal_irq_service_set+0x30/0x90 [amdgpu]
dc_interrupt_set+0x24/0x30 [amdgpu]
amdgpu_dm_set_dmub_outbox_irq_state+0x22/0x30 [amdgpu]
amdgpu_irq_update+0x77/0xa0 [amdgpu]
amdgpu_irq_gpu_reset_resume_helper+0x67/0xa0 [amdgpu]
amdgpu_do_asic_reset+0x219/0x260 [amdgpu]
amdgpu_device_gpu_recover.cold+0x8c5/0xb64 [amdgpu]
amdgpu_debugfs_gpu_recover_show+0x2c/0x60 [amdgpu]
seq_read_iter+0xc2/0x450
? do_anonymous_page+0x22c/0x3b0
seq_read+0xf9/0x140
full_proxy_read+0x5c/0x90
vfs_read+0xaa/0x190
ksys_read+0x67/0xe0
__x64_sys_read+0x1a/0x20
Fixes: 85465bd6dc6e drm/amdgpu/display: remove an old DCN3 guard
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
---
drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
index 5f245bde54ff..a2a4fbeb83f8 100644
--- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
+++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
@@ -119,7 +119,7 @@ bool dal_irq_service_set(
dal_irq_service_ack(irq_service, source);
- if (info->funcs->set)
+ if (info->funcs && info->funcs->set)
return info->funcs->set(irq_service, info, enable);
dal_irq_service_set_generic(irq_service, info, enable);
@@ -153,7 +153,7 @@ bool dal_irq_service_ack(
return false;
}
- if (info->funcs->ack)
+ if (info->funcs && info->funcs->ack)
return info->funcs->ack(irq_service, info);
dal_irq_service_ack_generic(irq_service, info);
--
2.17.1
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset
2021-06-28 9:27 ` [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset Guchun Chen
@ 2021-06-28 9:50 ` Quan, Evan
2021-06-28 13:54 ` Harry Wentland
1 sibling, 0 replies; 4+ messages in thread
From: Quan, Evan @ 2021-06-28 9:50 UTC (permalink / raw)
To: Chen, Guchun, amd-gfx, Siqueira, Rodrigo, Pillai, Aurabindo,
Wentland, Harry, Yin, Tianci (Rico),
Deucher, Alexander
Cc: Chen, Guchun
[AMD Official Use Only]
Series is reviewed-and-tested-by: Evan Quan <evan.quan@amd.com>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Guchun Chen
> Sent: Monday, June 28, 2021 5:28 PM
> To: amd-gfx@lists.freedesktop.org; Siqueira, Rodrigo
> <Rodrigo.Siqueira@amd.com>; Pillai, Aurabindo
> <Aurabindo.Pillai@amd.com>; Wentland, Harry
> <Harry.Wentland@amd.com>; Yin, Tianci (Rico) <Tianci.Yin@amd.com>;
> Deucher, Alexander <Alexander.Deucher@amd.com>
> Cc: Chen, Guchun <Guchun.Chen@amd.com>
> Subject: [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset
>
> During GPU reset, when receiving a DMCUB OUTBUX0 interrupt, DAL code
> will set it to be OUTBOX interrupt and sets hw interrupt.
> However, OUTBOX interrupt is not registered yet, so a NULL pointer access
> will be executed.
>
> Call Trace:
> dal_irq_service_set+0x30/0x90 [amdgpu]
> dc_interrupt_set+0x24/0x30 [amdgpu]
> amdgpu_dm_set_dmub_outbox_irq_state+0x22/0x30 [amdgpu]
> amdgpu_irq_update+0x77/0xa0 [amdgpu]
> amdgpu_irq_gpu_reset_resume_helper+0x67/0xa0 [amdgpu]
> amdgpu_do_asic_reset+0x219/0x260 [amdgpu]
> amdgpu_device_gpu_recover.cold+0x8c5/0xb64 [amdgpu]
> amdgpu_debugfs_gpu_recover_show+0x2c/0x60 [amdgpu]
> seq_read_iter+0xc2/0x450
> ? do_anonymous_page+0x22c/0x3b0
> seq_read+0xf9/0x140
> full_proxy_read+0x5c/0x90
> vfs_read+0xaa/0x190
> ksys_read+0x67/0xe0
> __x64_sys_read+0x1a/0x20
>
> Fixes: 85465bd6dc6e drm/amdgpu/display: remove an old DCN3 guard
>
> Signed-off-by: Guchun Chen <guchun.chen@amd.com>
> ---
> drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> index 5f245bde54ff..a2a4fbeb83f8 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> @@ -119,7 +119,7 @@ bool dal_irq_service_set(
>
> dal_irq_service_ack(irq_service, source);
>
> - if (info->funcs->set)
> + if (info->funcs && info->funcs->set)
> return info->funcs->set(irq_service, info, enable);
>
> dal_irq_service_set_generic(irq_service, info, enable); @@ -153,7
> +153,7 @@ bool dal_irq_service_ack(
> return false;
> }
>
> - if (info->funcs->ack)
> + if (info->funcs && info->funcs->ack)
> return info->funcs->ack(irq_service, info);
>
> dal_irq_service_ack_generic(irq_service, info);
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.
> freedesktop.org%2Fmailman%2Flistinfo%2Famd-
> gfx&data=04%7C01%7Cevan.quan%40amd.com%7C338ed5d1487e4834
> 76e908d93a1706a7%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6
> 37604692835538651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMD
> AiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=
> GTl5TKifsVpzCiccc%2BXmqnooa1grUmGjyPmMTCN1zmI%3D&reserved
> =0
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset
2021-06-28 9:27 ` [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset Guchun Chen
2021-06-28 9:50 ` Quan, Evan
@ 2021-06-28 13:54 ` Harry Wentland
1 sibling, 0 replies; 4+ messages in thread
From: Harry Wentland @ 2021-06-28 13:54 UTC (permalink / raw)
To: Guchun Chen, amd-gfx, rodrigo.siqueira, aurabindo.pillai,
tianci.yin, alexander.deucher
On 2021-06-28 5:27 a.m., Guchun Chen wrote:
> During GPU reset, when receiving a DMCUB OUTBUX0 interrupt,
> DAL code will set it to be OUTBOX interrupt and sets hw interrupt.
> However, OUTBOX interrupt is not registered yet, so a NULL pointer
> access will be executed.
>
> Call Trace:
> dal_irq_service_set+0x30/0x90 [amdgpu]
> dc_interrupt_set+0x24/0x30 [amdgpu]
> amdgpu_dm_set_dmub_outbox_irq_state+0x22/0x30 [amdgpu]
> amdgpu_irq_update+0x77/0xa0 [amdgpu]
> amdgpu_irq_gpu_reset_resume_helper+0x67/0xa0 [amdgpu]
> amdgpu_do_asic_reset+0x219/0x260 [amdgpu]
> amdgpu_device_gpu_recover.cold+0x8c5/0xb64 [amdgpu]
> amdgpu_debugfs_gpu_recover_show+0x2c/0x60 [amdgpu]
> seq_read_iter+0xc2/0x450
> ? do_anonymous_page+0x22c/0x3b0
> seq_read+0xf9/0x140
> full_proxy_read+0x5c/0x90
> vfs_read+0xaa/0x190
> ksys_read+0x67/0xe0
> __x64_sys_read+0x1a/0x20
>
> Fixes: 85465bd6dc6e drm/amdgpu/display: remove an old DCN3 guard
>
> Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Series is
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Harry
> ---
> drivers/gpu/drm/amd/display/dc/irq/irq_service.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> index 5f245bde54ff..a2a4fbeb83f8 100644
> --- a/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> +++ b/drivers/gpu/drm/amd/display/dc/irq/irq_service.c
> @@ -119,7 +119,7 @@ bool dal_irq_service_set(
>
> dal_irq_service_ack(irq_service, source);
>
> - if (info->funcs->set)
> + if (info->funcs && info->funcs->set)
> return info->funcs->set(irq_service, info, enable);
>
> dal_irq_service_set_generic(irq_service, info, enable);
> @@ -153,7 +153,7 @@ bool dal_irq_service_ack(
> return false;
> }
>
> - if (info->funcs->ack)
> + if (info->funcs && info->funcs->ack)
> return info->funcs->ack(irq_service, info);
>
> dal_irq_service_ack_generic(irq_service, info);
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-06-28 13:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 9:27 [PATCH 1/2] drm/amd/display: fix incorrrect valid irq check Guchun Chen
2021-06-28 9:27 ` [PATCH 2/2] drm/amd/display: fix null pointer access in gpu reset Guchun Chen
2021-06-28 9:50 ` Quan, Evan
2021-06-28 13:54 ` Harry Wentland
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.