RE: [PATCH] amdgpu: fix NULL pointer dereference at tonga_check_states_equal

From: Zhu, Rex
Date: Mon Feb 22 2016 - 21:37:04 EST



Reviewed-by: Rex Zhu <Rex.Zhu@xxxxxxx>

Best Regards
Rex Zhu

-----Original Message-----
From: Bradley Pankow [mailto:btpankow@xxxxxxxxx]
Sent: Tuesday, February 23, 2016 9:12 AM
To: Deucher, Alexander; Zhu, Rex; Zhou, Jammy
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Bradley Pankow
Subject: [PATCH] amdgpu: fix NULL pointer dereference at tonga_check_states_equal

The event_data passed from pem_fini was not cleared upon initialization.
This caused NULL checks to pass and cast_const_phw_tonga_power_state to attempt to dereference an invalid pointer. Clear the event_data in pem_init and pem_fini before calling pem_handle_event.

Signed-off-by: Bradley Pankow <btpankow@xxxxxxxxx>
---
drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c
index 52a3efc..46410e3 100644
--- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c
@@ -31,7 +31,7 @@
static int pem_init(struct pp_eventmgr *eventmgr) {
int result = 0;
- struct pem_event_data event_data;
+ struct pem_event_data event_data = { {0} };

/* Initialize PowerPlay feature info */
pem_init_feature_info(eventmgr);
@@ -52,7 +52,7 @@ static int pem_init(struct pp_eventmgr *eventmgr)

static void pem_fini(struct pp_eventmgr *eventmgr) {
- struct pem_event_data event_data;
+ struct pem_event_data event_data = { {0} };

pem_uninit_featureInfo(eventmgr);
pem_unregister_interrupts(eventmgr);
--
2.7.1