[PATCH 03/13] vfio/mdev: simplify mdev_type handling
Tian, Kevin
kevin.tian at intel.com
Tue Jun 14 10:06:16 UTC 2022
> From: Christoph Hellwig
> Sent: Tuesday, June 14, 2022 12:54 PM
> @@ -131,6 +131,13 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
> if (!gvt->types)
> return -ENOMEM;
>
> + gvt->mdev_types = kcalloc(num_types, sizeof(*gvt->mdev_types),
> + GFP_KERNEL);
> + if (!gvt->mdev_types) {
> + kfree(gvt->types);
> + return -ENOMEM;
> + }
> +
> min_low = MB_TO_BYTES(32);
> for (i = 0; i < num_types; ++i) {
> if (low_avail / vgpu_types[i].low_mm == 0)
> @@ -150,19 +157,21 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
> high_avail /
> vgpu_types[i].high_mm);
there is a memory leak a few lines above:
if (vgpu_types[i].weight < 1 ||
vgpu_types[i].weight > VGPU_MAX_WEIGHT)
return -EINVAL;
both old code and this patch forgot to free the buffers upon error.
More information about the intel-gvt-dev
mailing list