diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 | 
1 files changed, 1 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c index c704e9803e11..0af469ec6fcc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c @@ -1263,12 +1263,10 @@ static int amdgpu_virt_cache_host_error_counts(struct amdgpu_device *adev,  	if (used_size > (AMD_SRIOV_RAS_TELEMETRY_SIZE_KB << 10))  		return 0; -	tmp = kmalloc(used_size, GFP_KERNEL); +	tmp = kmemdup(&host_telemetry->body.error_count, used_size, GFP_KERNEL);  	if (!tmp)  		return -ENOMEM; -	memcpy(tmp, &host_telemetry->body.error_count, used_size); -  	if (checksum != amd_sriov_msg_checksum(tmp, used_size, 0, 0))  		goto out; | 
