enum rdma_remove_reason reason,
                                  struct uverbs_attr_bundle *attrs)
 {
-       struct ib_uverbs_file *ufile = uobj->ufile;
+       struct ib_uverbs_file *ufile = attrs->ufile;
        unsigned long flags;
        int ret;
 
  */
 int uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs)
 {
-       struct ib_uverbs_file *ufile = uobj->ufile;
+       struct ib_uverbs_file *ufile = attrs->ufile;
        int ret;
 
        down_read(&ufile->hw_destroy_rwsem);
 int __must_check rdma_alloc_commit_uobject(struct ib_uobject *uobj,
                                           struct uverbs_attr_bundle *attrs)
 {
-       struct ib_uverbs_file *ufile = uobj->ufile;
+       struct ib_uverbs_file *ufile = attrs->ufile;
        int ret;
 
        /* alloc_commit consumes the uobj kref */
 
 {
        struct ib_uobject *uobj = uverbs_attr_get_uobject(
                attrs, UVERBS_ATTR_CREATE_COUNTERS_HANDLE);
-       struct ib_device *ib_dev = uobj->context->device;
+       struct ib_device *ib_dev = attrs->context->device;
        struct ib_counters *counters;
        int ret;
 
 
        struct ib_ucq_object *obj = container_of(
                uverbs_attr_get_uobject(attrs, UVERBS_ATTR_CREATE_CQ_HANDLE),
                typeof(*obj), uobject);
-       struct ib_device *ib_dev = obj->uobject.context->device;
+       struct ib_device *ib_dev = attrs->context->device;
        int ret;
        u64 user_handle;
        struct ib_cq_init_attr attr = {};
 
        struct ib_uobject *uobj =
                uverbs_attr_get(attrs, UVERBS_ATTR_ALLOC_DM_HANDLE)
                        ->obj_attr.uobject;
-       struct ib_device *ib_dev = uobj->context->device;
+       struct ib_device *ib_dev = attrs->context->device;
        struct ib_dm *dm;
        int ret;
 
        if (ret)
                return ret;
 
-       dm = ib_dev->ops.alloc_dm(ib_dev, uobj->context, &attr, attrs);
+       dm = ib_dev->ops.alloc_dm(ib_dev, attrs->context, &attr, attrs);
        if (IS_ERR(dm))
                return PTR_ERR(dm);
 
 
 {
        struct ib_uobject *uobj = uverbs_attr_get_uobject(
                attrs, UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE);
-       struct ib_device *ib_dev = uobj->context->device;
+       struct ib_device *ib_dev = attrs->context->device;
        int                               ret;
        struct ib_flow_action             *action;
        struct ib_flow_action_esp_attr    esp_attr = {};
 
                rdma_alloc_begin_uobject(obj, attrs->ufile, attrs);
 
        if (!IS_ERR(uobj))
-               *ib_dev = uobj->context->device;
+               *ib_dev = attrs->context->device;
        return uobj;
 }