uint32_t scanout_id, uint32_t resource_id,
                                uint32_t width, uint32_t height,
                                uint32_t x, uint32_t y);
-int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
-                            struct virtio_gpu_object *obj,
-                            struct virtio_gpu_mem_entry *ents,
-                            unsigned int nents);
+void virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
+                             struct virtio_gpu_object *obj,
+                             struct virtio_gpu_mem_entry *ents,
+                             unsigned int nents);
 int virtio_gpu_attach_status_page(struct virtio_gpu_device *vgdev);
 int virtio_gpu_detach_status_page(struct virtio_gpu_device *vgdev);
 void virtio_gpu_cursor_ping(struct virtio_gpu_device *vgdev,
 
                return ret;
        }
 
-       ret = virtio_gpu_object_attach(vgdev, bo, ents, nents);
-       if (ret != 0) {
-               virtio_gpu_free_object(&shmem_obj->base);
-               return ret;
-       }
+       virtio_gpu_object_attach(vgdev, bo, ents, nents);
 
        *bo_ptr = bo;
        return 0;
 
        virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence);
 }
 
-int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
-                            struct virtio_gpu_object *obj,
-                            struct virtio_gpu_mem_entry *ents,
-                            unsigned int nents)
+void virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
+                             struct virtio_gpu_object *obj,
+                             struct virtio_gpu_mem_entry *ents,
+                             unsigned int nents)
 {
        virtio_gpu_cmd_resource_attach_backing(vgdev, obj->hw_res_handle,
                                               ents, nents, NULL);
-       return 0;
 }
 
 void virtio_gpu_cursor_ping(struct virtio_gpu_device *vgdev,