[PATCH 081/109] drm/amd/ras: resolve compiler warning for stack frame exceeding 1024 bytes
Alex Deucher <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <[email protected]> |
From: YiPeng Chai <[email protected]> Resolve compiler warning for stack frame exceeding 1024 bytes. Signed-off-by: YiPeng Chai <[email protected]> Reviewed-by: Tao Zhou <[email protected]> Signed-off-by: Alex Deucher <[email protected]> --- .../drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c index fd4eea8c3f7ba..f6b114d9d613f 100644 --- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c +++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c @@ -441,27 +441,37 @@ int amdgpu_virt_ras_convert_retired_address(struct amdgpu_device *adev, uint64_t address, uint64_t *pfn, uint32_t max_pfn_sz) { struct ras_cmd_convert_retired_address_req req = {0}; - struct ras_cmd_convert_retired_address_rsp rsp = {0}; + struct ras_cmd_convert_retired_address_rsp *rsp; int ret = 0, i; int retired_page_count; if (!pfn || !max_pfn_sz) return -EINVAL; + rsp = kzalloc(sizeof(*rsp), GFP_KERNEL); + if (!rsp) + return -ENOMEM; + req.address = address; ret = amdgpu_ras_mgr_handle_ras_cmd(adev, RAS_CMD__CONVERT_RETIRED_ADDRESS, - &req, sizeof(req), &rsp, sizeof(rsp)); + &req, sizeof(req), rsp, sizeof(*rsp)); - if (ret || rsp.retired_count == 0) - return -EINVAL; + if (ret || rsp->retired_count == 0) { + ret = -EINVAL; + goto out; + } - retired_page_count = rsp.retired_count > max_pfn_sz ? max_pfn_sz : rsp.retired_count; + retired_page_count = rsp->retired_count > max_pfn_sz ? max_pfn_sz : rsp->retired_count; for (i = 0; i < retired_page_count; i++) - pfn[i] = rsp.retired_addr[i] >> AMDGPU_GPU_PAGE_SHIFT; + pfn[i] = rsp->retired_addr[i] >> AMDGPU_GPU_PAGE_SHIFT; + + ret = retired_page_count; - return retired_page_count; +out: + kfree(rsp); + return ret; } static struct ras_cmd_func_map amdgpu_virt_ras_cmd_maps[] = { -- 2.55.0