Commit 98828955 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Alex Williamson

drm/i915/gvt: fix a memory leak in intel_gvt_init_vgpu_types

gvt->types needs to be freed on error.

Fixes: bc90d097 ("drm/i915/gvt: define weight according to vGPU type")
Reported-by: default avatarKevin Tian <kevin.tian@intel.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Reviewed-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Link: https://lore.kernel.org/r/20220923092652.100656-2-hch@lst.de
[aw: Correct fixes commit ID as reported by Stephen Rothwell]
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent f423fa1b
...@@ -142,7 +142,7 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt) ...@@ -142,7 +142,7 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
if (vgpu_types[i].weight < 1 || if (vgpu_types[i].weight < 1 ||
vgpu_types[i].weight > VGPU_MAX_WEIGHT) vgpu_types[i].weight > VGPU_MAX_WEIGHT)
return -EINVAL; goto out_free_types;
gvt->types[i].weight = vgpu_types[i].weight; gvt->types[i].weight = vgpu_types[i].weight;
gvt->types[i].resolution = vgpu_types[i].edid; gvt->types[i].resolution = vgpu_types[i].edid;
...@@ -167,6 +167,10 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt) ...@@ -167,6 +167,10 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
gvt->num_types = i; gvt->num_types = i;
return 0; return 0;
out_free_types:
kfree(gvt->types);
return -EINVAL;
} }
void intel_gvt_clean_vgpu_types(struct intel_gvt *gvt) void intel_gvt_clean_vgpu_types(struct intel_gvt *gvt)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment