|
@@ -281,15 +281,6 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle)
|
|
|
{
|
|
|
struct drm_gem_object *obj;
|
|
|
|
|
|
- /* This is gross. The idr system doesn't let us try a delete and
|
|
|
- * return an error code. It just spews if you fail at deleting.
|
|
|
- * So, we have to grab a lock around finding the object and then
|
|
|
- * doing the delete on it and dropping the refcount, or the user
|
|
|
- * could race us to double-decrement the refcount and cause a
|
|
|
- * use-after-free later. Given the frequency of our handle lookups,
|
|
|
- * we may want to use ida for number allocation and a hash table
|
|
|
- * for the pointers, anyway.
|
|
|
- */
|
|
|
spin_lock(&filp->table_lock);
|
|
|
|
|
|
/* Check if we currently have a reference on the object */
|