Reviewed-by:  Rex Zhu <Rex.Zhu at amd.com>

Best Regards
Rex Zhu

-----Original Message-----
From: Bradley Pankow [mailto:btpan...@gmail.com] 
Sent: Tuesday, February 23, 2016 9:12 AM
To: Deucher, Alexander; Zhu, Rex; Zhou, Jammy
Cc: dri-devel at lists.freedesktop.org; linux-kernel at vger.kernel.org; 
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 at gmail.com>
---
 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

Reply via email to