• Srinivasan Shanmugam's avatar
    drm/amd/display: Prevent potential buffer overflow in map_hw_resources · 0f8ca019
    Srinivasan Shanmugam authored
    Adds a check in the map_hw_resources function to prevent a potential
    buffer overflow. The function was accessing arrays using an index that
    could potentially be greater than the size of the arrays, leading to a
    buffer overflow.
    
    Adds a check to ensure that the index is within the bounds of the
    arrays. If the index is out of bounds, an error message is printed and
    break it will continue execution with just ignoring extra data early to
    prevent the buffer overflow.
    
    Reported by smatch:
    drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:79 map_hw_resources() error: buffer overflow 'dml2->v20.scratch.dml_to_dc_pipe_mapping.disp_cfg_to_stream_id' 6 <= 7
    drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:81 map_hw_resources() error: buffer overflow 'dml2->v20.scratch.dml_to_dc_pipe_mapping.disp_cfg_to_plane_id' 6 <= 7
    
    Fixes: 7966f319 ("drm/amd/display: Introduce DML2")
    Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Cc: Roman Li <roman.li@amd.com>
    Cc: Qingqing Zhuo <Qingqing.Zhuo@amd.com>
    Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
    Cc: Tom Chung <chiahsuan.chung@amd.com>
    Signed-off-by: default avatarSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
    Suggested-by: default avatarRoman Li <roman.li@amd.com>
    Reviewed-by: default avatarRoman Li <roman.li@amd.com>
    Reviewed-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    0f8ca019
dml2_wrapper.c 30.3 KB