From: John Lindgren <john.lindg...@tds.net>

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=35502

agd5f: also add sanity check to connector records.

Signed-off-by: Alex Deucher <alexdeuc...@gmail.com>
Cc: sta...@kernel.org
---
 drivers/gpu/drm/radeon/radeon_atombios.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
b/drivers/gpu/drm/radeon/radeon_atombios.c
index 4a92b6d..793bbd7 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -678,7 +678,8 @@ bool 
radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
                                                        ATOM_ENCODER_CAP_RECORD 
*cap_record;
                                                        u16 caps = 0;
 
-                                                       while 
(record->ucRecordType > 0 &&
+                                                       while 
(record->ucRecordSize > 0 &&
+                                                              
record->ucRecordType > 0 &&
                                                               
record->ucRecordType <= ATOM_MAX_OBJECT_RECORD_NUMBER) {
                                                                switch 
(record->ucRecordType) {
                                                                case 
ATOM_ENCODER_CAP_RECORD_TYPE:
@@ -723,7 +724,8 @@ bool 
radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
                                                                        break;
                                                        }
 
-                                                       while 
(record->ucRecordType > 0 &&
+                                                       while 
(record->ucRecordSize > 0 &&
+                                                              
record->ucRecordType > 0 &&
                                                               
record->ucRecordType <= ATOM_MAX_OBJECT_RECORD_NUMBER) {
                                                                switch 
(record->ucRecordType) {
                                                                case 
ATOM_I2C_RECORD_TYPE:
-- 
1.7.1.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to