From: Colin Ian King Date: Tue, 20 Sep 2016 15:49:31 +0000 (+0100) Subject: drm/amdgpu: avoid out of bounds access on array interrupt_status_offsets X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=664a08bb906bd946a4c3963d5f92518e5ff19bd8;p=openwrt%2Fstaging%2Fblogic.git drm/amdgpu: avoid out of bounds access on array interrupt_status_offsets The check for an out of bound index into array interrupt_status_offsets is off-by-one. Fix this and also don't compared to a hard coded array size but use adev->mode_info.num_hpd instead. Signed-off-by: Colin Ian King Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c index ec5d8d93ad23..c8380f030400 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c @@ -2782,7 +2782,7 @@ static int dce_v6_0_hpd_irq(struct amdgpu_device *adev, uint32_t disp_int, mask, int_control, tmp; unsigned hpd; - if (entry->src_data > 6) { + if (entry->src_data >= adev->mode_info.num_hpd) { DRM_DEBUG("Unhandled interrupt: %d %d\n", entry->src_id, entry->src_data); return 0; }