diff options
author | Bradley Pankow <btpankow@gmail.com> | 2016-02-22 20:11:47 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-24 12:46:05 -0500 |
commit | 827108d08070c7515c14eb47e5fa03f59cfe38cf (patch) | |
tree | 5d4cc614c8cca674f067946d07898fae3f9b8aac | |
parent | 39d4275058baf53e89203407bf3841ff2c74fa32 (diff) |
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.
Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Bradley Pankow <btpankow@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c | 4 |
1 files 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 52a3efc97f05..46410e3c7349 100644 --- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c +++ b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c | |||
@@ -31,7 +31,7 @@ | |||
31 | static int pem_init(struct pp_eventmgr *eventmgr) | 31 | static int pem_init(struct pp_eventmgr *eventmgr) |
32 | { | 32 | { |
33 | int result = 0; | 33 | int result = 0; |
34 | struct pem_event_data event_data; | 34 | struct pem_event_data event_data = { {0} }; |
35 | 35 | ||
36 | /* Initialize PowerPlay feature info */ | 36 | /* Initialize PowerPlay feature info */ |
37 | pem_init_feature_info(eventmgr); | 37 | pem_init_feature_info(eventmgr); |
@@ -52,7 +52,7 @@ static int pem_init(struct pp_eventmgr *eventmgr) | |||
52 | 52 | ||
53 | static void pem_fini(struct pp_eventmgr *eventmgr) | 53 | static void pem_fini(struct pp_eventmgr *eventmgr) |
54 | { | 54 | { |
55 | struct pem_event_data event_data; | 55 | struct pem_event_data event_data = { {0} }; |
56 | 56 | ||
57 | pem_uninit_featureInfo(eventmgr); | 57 | pem_uninit_featureInfo(eventmgr); |
58 | pem_unregister_interrupts(eventmgr); | 58 | pem_unregister_interrupts(eventmgr); |