> diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c
> b/drivers/gpu/drm/i915/gvt/dmabuf.c
> index 8a1d6c5636c2..5b198162c588 100644
> --- a/drivers/gpu/drm/i915/gvt/dmabuf.c
> +++ b/drivers/gpu/drm/i915/gvt/dmabuf.c
> @@ -202,13 +202,19 @@ static struct drm_i915_gem_object
> *vgpu_create_gem(struct drm_device *dev,
> static struct lock_class_key lock_class;
> struct drm_i915_private *dev_priv = to_i915(dev);
> struct drm_i915_gem_object *obj;
> + int ret;
>
> obj = i915_gem_object_alloc();
> if (obj == NULL)
> return NULL;
>
> - drm_gem_private_object_init(dev, &obj->base,
> + ret = drm_gem_private_object_init(dev, &obj->base,
> roundup(info->size, PAGE_SIZE));
> + if (ret) {
> + i915_gem_object_free(obj);
Building on v7.2 with DRM_I915_GVT enabled will result in modpost undefined
symbol error.
Exporting i915_gem_object_free() in I915_GVT namespace
(drivers/gpu/drm/i915/intel_gvt.c)
should fix it.
> + return NULL;
> + }
> +
> i915_gem_object_init(obj, &intel_vgpu_gem_ops, &lock_class, 0);
> i915_gem_object_set_readonly(obj);
Thanks,
Youssef