From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754252AbbFKPNX (ORCPT ); Thu, 11 Jun 2015 11:13:23 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:25344 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751489AbbFKPNW (ORCPT ); Thu, 11 Jun 2015 11:13:22 -0400 Date: Thu, 11 Jun 2015 18:13:04 +0300 From: Dan Carpenter To: David Airlie Cc: Alex Deucher , Jammy Zhou , Christian =?iso-8859-1?Q?K=F6nig?= , yanyang1 , Chunming Zhou , Marek =?utf-8?B?T2zFocOhaw==?= , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [patch] drm/amdgpu: off by one check in dce_v8_0_hpd_irq() Message-ID: <20150611151304.GD12192@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It should be >= instead of > or we go beyond the end of the interrupt_status_offsets[] array. Also I changed it to use ARRAY_SIZE(). Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c index 9e8b9f1..0f70dc9 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c @@ -3397,7 +3397,7 @@ static int dce_v8_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 >= ARRAY_SIZE(interrupt_status_offsets)) { DRM_DEBUG("Unhandled interrupt: %d %d\n", entry->src_id, entry->src_data); return 0; }