提交 8c79bae6 编写于 作者: A Alex Deucher 提交者: Christian König

drm/radeon/si: make sure mc ucode is loaded before checking the size

Avoid a possible segfault.
Noticed-by: NDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
上级 f8a2645e
...@@ -1472,11 +1472,13 @@ int si_mc_load_microcode(struct radeon_device *rdev) ...@@ -1472,11 +1472,13 @@ int si_mc_load_microcode(struct radeon_device *rdev)
const __be32 *fw_data; const __be32 *fw_data;
u32 running, blackout = 0; u32 running, blackout = 0;
u32 *io_mc_regs; u32 *io_mc_regs;
int i, regs_size, ucode_size = rdev->mc_fw->size / 4; int i, regs_size, ucode_size;
if (!rdev->mc_fw) if (!rdev->mc_fw)
return -EINVAL; return -EINVAL;
ucode_size = rdev->mc_fw->size / 4;
switch (rdev->family) { switch (rdev->family) {
case CHIP_TAHITI: case CHIP_TAHITI:
io_mc_regs = (u32 *)&tahiti_io_mc_regs; io_mc_regs = (u32 *)&tahiti_io_mc_regs;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册