Commit 1dfd9754 authored by Chris Wilson's avatar Chris Wilson

Revert "drm/i915: Unreference object not handle on creation"

This reverts commit 86f100b1.

The kref API requires the handlecount to be initialised to one on object
creation (so that kref_get() doesn't complain upon first use) so the
dalliance in the drivers is required in order to sink the initial
floating reference.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
parent e167976e
...@@ -135,12 +135,15 @@ i915_gem_create_ioctl(struct drm_device *dev, void *data, ...@@ -135,12 +135,15 @@ i915_gem_create_ioctl(struct drm_device *dev, void *data,
return -ENOMEM; return -ENOMEM;
ret = drm_gem_handle_create(file_priv, obj, &handle); ret = drm_gem_handle_create(file_priv, obj, &handle);
drm_gem_object_unreference_unlocked(obj); if (ret) {
if (ret) drm_gem_object_unreference_unlocked(obj);
return ret; return ret;
}
args->handle = handle; /* Sink the floating reference from kref_init(handlecount) */
drm_gem_object_handle_unreference_unlocked(obj);
args->handle = handle;
return 0; return 0;
} }
......
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