Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: fix i2s_pdata out of bound array access

Fixed following Smatch static checker warning:

drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c:393 acp_hw_init()
error: buffer overflow 'i2s_pdata' 3 <= 3
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c:396 acp_hw_init()
error: buffer overflow 'i2s_pdata' 3 <= 3

Fixes: 4c33e5179ff1 ("drm/amdgpu: create I2S platform devices for Jadeite platform")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Vijendar Mukunda and committed by
Alex Deucher
b2065fb2 0dc204bc

-8
-8
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
··· 390 390 i2s_pdata[2].i2s_reg_comp1 = ACP_BT_COMP1_REG_OFFSET; 391 391 i2s_pdata[2].i2s_reg_comp2 = ACP_BT_COMP2_REG_OFFSET; 392 392 393 - i2s_pdata[3].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET; 394 - switch (adev->asic_type) { 395 - case CHIP_STONEY: 396 - i2s_pdata[3].quirks |= DW_I2S_QUIRK_16BIT_IDX_OVERRIDE; 397 - break; 398 - default: 399 - break; 400 - } 401 393 adev->acp.acp_res[0].name = "acp2x_dma"; 402 394 adev->acp.acp_res[0].flags = IORESOURCE_MEM; 403 395 adev->acp.acp_res[0].start = acp_base;