ufile             131 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = attrs->ufile;
ufile             135 drivers/infiniband/core/rdma_core.c 	lockdep_assert_held(&ufile->hw_destroy_rwsem);
ufile             173 drivers/infiniband/core/rdma_core.c 		spin_lock_irqsave(&ufile->uobjects_lock, flags);
ufile             175 drivers/infiniband/core/rdma_core.c 		spin_unlock_irqrestore(&ufile->uobjects_lock, flags);
ufile             203 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = attrs->ufile;
ufile             206 drivers/infiniband/core/rdma_core.c 	down_read(&ufile->hw_destroy_rwsem);
ufile             226 drivers/infiniband/core/rdma_core.c 	up_read(&ufile->hw_destroy_rwsem);
ufile             241 drivers/infiniband/core/rdma_core.c 	uobj = rdma_lookup_get_uobject(obj, attrs->ufile, id,
ufile             272 drivers/infiniband/core/rdma_core.c static struct ib_uobject *alloc_uobj(struct ib_uverbs_file *ufile,
ufile             278 drivers/infiniband/core/rdma_core.c 	ucontext = ib_uverbs_get_ucontext_file(ufile);
ufile             289 drivers/infiniband/core/rdma_core.c 	uobj->ufile = ufile;
ufile             311 drivers/infiniband/core/rdma_core.c 	return xa_alloc(&uobj->ufile->idr, &uobj->id, NULL, xa_limit_32b,
ufile             318 drivers/infiniband/core/rdma_core.c 		       struct ib_uverbs_file *ufile, s64 id,
ufile             333 drivers/infiniband/core/rdma_core.c 	uobj = xa_load(&ufile->idr, id);
ufile             342 drivers/infiniband/core/rdma_core.c 		      struct ib_uverbs_file *ufile, s64 id,
ufile             371 drivers/infiniband/core/rdma_core.c 	if (f->f_op != fd_type->fops || uobject->ufile != ufile) {
ufile             381 drivers/infiniband/core/rdma_core.c 					   struct ib_uverbs_file *ufile, s64 id,
ufile             390 drivers/infiniband/core/rdma_core.c 		uobj = lookup_get_idr_uobject(NULL, ufile, id, mode);
ufile             397 drivers/infiniband/core/rdma_core.c 		uobj = obj->type_class->lookup_get(obj, ufile, id, mode);
ufile             412 drivers/infiniband/core/rdma_core.c 	    !srcu_dereference(ufile->device->ib_dev,
ufile             413 drivers/infiniband/core/rdma_core.c 			      &ufile->device->disassociate_srcu)) {
ufile             433 drivers/infiniband/core/rdma_core.c 			struct ib_uverbs_file *ufile)
ufile             438 drivers/infiniband/core/rdma_core.c 	uobj = alloc_uobj(ufile, obj);
ufile             454 drivers/infiniband/core/rdma_core.c 	xa_erase(&ufile->idr, uobj->id);
ufile             462 drivers/infiniband/core/rdma_core.c 		       struct ib_uverbs_file *ufile)
ufile             471 drivers/infiniband/core/rdma_core.c 	uobj = alloc_uobj(ufile, obj);
ufile             478 drivers/infiniband/core/rdma_core.c 	uobj->ufile = ufile;
ufile             484 drivers/infiniband/core/rdma_core.c 					    struct ib_uverbs_file *ufile,
ufile             497 drivers/infiniband/core/rdma_core.c 	if (!down_read_trylock(&ufile->hw_destroy_rwsem))
ufile             500 drivers/infiniband/core/rdma_core.c 	ret = obj->type_class->alloc_begin(obj, ufile);
ufile             502 drivers/infiniband/core/rdma_core.c 		up_read(&ufile->hw_destroy_rwsem);
ufile             515 drivers/infiniband/core/rdma_core.c 	xa_erase(&uobj->ufile->idr, uobj->id);
ufile             546 drivers/infiniband/core/rdma_core.c 	xa_erase(&uobj->ufile->idr, uobj->id);
ufile             576 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = uobj->ufile;
ufile             586 drivers/infiniband/core/rdma_core.c 	old = xa_store(&ufile->idr, uobj->id, uobj, GFP_KERNEL);
ufile             615 drivers/infiniband/core/rdma_core.c 	kref_get(&uobj->ufile->ref);
ufile             637 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = attrs->ufile;
ufile             644 drivers/infiniband/core/rdma_core.c 		up_read(&ufile->hw_destroy_rwsem);
ufile             650 drivers/infiniband/core/rdma_core.c 	spin_lock_irq(&ufile->uobjects_lock);
ufile             651 drivers/infiniband/core/rdma_core.c 	list_add(&uobj->list, &ufile->uobjects);
ufile             652 drivers/infiniband/core/rdma_core.c 	spin_unlock_irq(&ufile->uobjects_lock);
ufile             658 drivers/infiniband/core/rdma_core.c 	up_read(&ufile->hw_destroy_rwsem);
ufile             670 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = uobj->ufile;
ufile             676 drivers/infiniband/core/rdma_core.c 	up_read(&ufile->hw_destroy_rwsem);
ufile             719 drivers/infiniband/core/rdma_core.c void setup_ufile_idr_uobject(struct ib_uverbs_file *ufile)
ufile             721 drivers/infiniband/core/rdma_core.c 	xa_init_flags(&ufile->idr, XA_FLAGS_ALLOC);
ufile             724 drivers/infiniband/core/rdma_core.c void release_ufile_idr_uobject(struct ib_uverbs_file *ufile)
ufile             737 drivers/infiniband/core/rdma_core.c 	xa_for_each(&ufile->idr, id, entry) {
ufile             742 drivers/infiniband/core/rdma_core.c 	xa_destroy(&ufile->idr);
ufile             773 drivers/infiniband/core/rdma_core.c 	struct ib_uverbs_file *ufile = uobj->ufile;
ufile             776 drivers/infiniband/core/rdma_core.c 		.ufile = ufile,
ufile             779 drivers/infiniband/core/rdma_core.c 	if (down_read_trylock(&ufile->hw_destroy_rwsem)) {
ufile             788 drivers/infiniband/core/rdma_core.c 		up_read(&ufile->hw_destroy_rwsem);
ufile             792 drivers/infiniband/core/rdma_core.c 	kref_put(&ufile->ref, ib_uverbs_release_file);
ufile             803 drivers/infiniband/core/rdma_core.c static void ufile_destroy_ucontext(struct ib_uverbs_file *ufile,
ufile             806 drivers/infiniband/core/rdma_core.c 	struct ib_ucontext *ucontext = ufile->ucontext;
ufile             815 drivers/infiniband/core/rdma_core.c 		uverbs_user_mmap_disassociate(ufile);
ufile             828 drivers/infiniband/core/rdma_core.c 	ufile->ucontext = NULL;
ufile             831 drivers/infiniband/core/rdma_core.c static int __uverbs_cleanup_ufile(struct ib_uverbs_file *ufile,
ufile             836 drivers/infiniband/core/rdma_core.c 	struct uverbs_attr_bundle attrs = { .ufile = ufile };
ufile             847 drivers/infiniband/core/rdma_core.c 	list_for_each_entry_safe(obj, next_obj, &ufile->uobjects, list) {
ufile             870 drivers/infiniband/core/rdma_core.c void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile,
ufile             882 drivers/infiniband/core/rdma_core.c 		if (!mutex_trylock(&ufile->ucontext_lock))
ufile             886 drivers/infiniband/core/rdma_core.c 		mutex_lock(&ufile->ucontext_lock);
ufile             889 drivers/infiniband/core/rdma_core.c 	down_write(&ufile->hw_destroy_rwsem);
ufile             895 drivers/infiniband/core/rdma_core.c 	if (!ufile->ucontext)
ufile             898 drivers/infiniband/core/rdma_core.c 	ufile->ucontext->closing = true;
ufile             899 drivers/infiniband/core/rdma_core.c 	ufile->ucontext->cleanup_retryable = true;
ufile             900 drivers/infiniband/core/rdma_core.c 	while (!list_empty(&ufile->uobjects))
ufile             901 drivers/infiniband/core/rdma_core.c 		if (__uverbs_cleanup_ufile(ufile, reason)) {
ufile             909 drivers/infiniband/core/rdma_core.c 	ufile->ucontext->cleanup_retryable = false;
ufile             910 drivers/infiniband/core/rdma_core.c 	if (!list_empty(&ufile->uobjects))
ufile             911 drivers/infiniband/core/rdma_core.c 		__uverbs_cleanup_ufile(ufile, reason);
ufile             913 drivers/infiniband/core/rdma_core.c 	ufile_destroy_ucontext(ufile, reason);
ufile             916 drivers/infiniband/core/rdma_core.c 	up_write(&ufile->hw_destroy_rwsem);
ufile             917 drivers/infiniband/core/rdma_core.c 	mutex_unlock(&ufile->ucontext_lock);
ufile             937 drivers/infiniband/core/rdma_core.c 		uapi_get_object(attrs->ufile->device->uapi, object_id);
ufile             941 drivers/infiniband/core/rdma_core.c 		return rdma_lookup_get_uobject(obj, attrs->ufile, id,
ufile             945 drivers/infiniband/core/rdma_core.c 		return rdma_lookup_get_uobject(obj, attrs->ufile, id,
ufile             948 drivers/infiniband/core/rdma_core.c 		return rdma_lookup_get_uobject(obj, attrs->ufile, id,
ufile             951 drivers/infiniband/core/rdma_core.c 		return rdma_alloc_begin_uobject(obj, attrs->ufile, attrs);
ufile              48 drivers/infiniband/core/rdma_core.h void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile,
ufile             110 drivers/infiniband/core/rdma_core.h void setup_ufile_idr_uobject(struct ib_uverbs_file *ufile);
ufile             111 drivers/infiniband/core/rdma_core.h void release_ufile_idr_uobject(struct ib_uverbs_file *ufile);
ufile             190 drivers/infiniband/core/rdma_core.h void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile);
ufile             208 drivers/infiniband/core/uverbs_cmd.c 	struct ib_uverbs_file *file = attrs->ufile;
ufile             250 drivers/infiniband/core/uverbs_cmd.c 	ucontext->ufile = file;
ufile             558 drivers/infiniband/core/uverbs_cmd.c 	struct ib_uverbs_device *ibudev = attrs->ufile->device;
ufile             685 drivers/infiniband/core/uverbs_cmd.c 	struct ib_uverbs_device *dev = attrs->ufile->device;
ufile             995 drivers/infiniband/core/uverbs_cmd.c 	if (cmd->comp_vector >= attrs->ufile->device->num_comp_vectors)
ufile            1062 drivers/infiniband/core/uverbs_cmd.c 		ib_uverbs_release_ucq(attrs->ufile, ev_file, obj);
ufile            1376 drivers/infiniband/core/uverbs_cmd.c 	attr.qp_context    = attrs->ufile;
ufile            1584 drivers/infiniband/core/uverbs_cmd.c 	attr.qp_context    = attrs->ufile;
ufile            2929 drivers/infiniband/core/uverbs_cmd.c 	wq_init_attr.wq_context = attrs->ufile;
ufile            3407 drivers/infiniband/core/uverbs_cmd.c 	attr.srq_context    = attrs->ufile;
ufile             430 drivers/infiniband/core/uverbs_ioctl.c 		&pbundle->bundle.ufile->device->disassociate_srcu);
ufile             555 drivers/infiniband/core/uverbs_ioctl.c static int ib_uverbs_cmd_verbs(struct ib_uverbs_file *ufile,
ufile             560 drivers/infiniband/core/uverbs_ioctl.c 	struct uverbs_api *uapi = ufile->device->uapi;
ufile             597 drivers/infiniband/core/uverbs_ioctl.c 	pbundle->bundle.ufile = ufile;
ufile              85 drivers/infiniband/core/uverbs_main.c struct ib_ucontext *ib_uverbs_get_ucontext_file(struct ib_uverbs_file *ufile)
ufile              92 drivers/infiniband/core/uverbs_main.c 	struct ib_ucontext *ucontext = smp_load_acquire(&ufile->ucontext);
ufile              94 drivers/infiniband/core/uverbs_main.c 	if (!srcu_dereference(ufile->device->ib_dev,
ufile              95 drivers/infiniband/core/uverbs_main.c 			      &ufile->device->disassociate_srcu))
ufile             491 drivers/infiniband/core/uverbs_main.c 	ib_uverbs_async_handler(uobj->uobject.ufile, uobj->uobject.user_handle,
ufile             703 drivers/infiniband/core/uverbs_main.c 	bundle.ufile = file;
ufile             814 drivers/infiniband/core/uverbs_main.c 	struct ib_uverbs_file *ufile = vma->vm_file->private_data;
ufile             820 drivers/infiniband/core/uverbs_main.c 	mutex_lock(&ufile->umap_lock);
ufile             821 drivers/infiniband/core/uverbs_main.c 	list_add(&priv->list, &ufile->umaps);
ufile             822 drivers/infiniband/core/uverbs_main.c 	mutex_unlock(&ufile->umap_lock);
ufile             831 drivers/infiniband/core/uverbs_main.c 	struct ib_uverbs_file *ufile = vma->vm_file->private_data;
ufile             839 drivers/infiniband/core/uverbs_main.c 	if (!down_read_trylock(&ufile->hw_destroy_rwsem))
ufile             844 drivers/infiniband/core/uverbs_main.c 	if (!ufile->ucontext)
ufile             852 drivers/infiniband/core/uverbs_main.c 	up_read(&ufile->hw_destroy_rwsem);
ufile             856 drivers/infiniband/core/uverbs_main.c 	up_read(&ufile->hw_destroy_rwsem);
ufile             869 drivers/infiniband/core/uverbs_main.c 	struct ib_uverbs_file *ufile = vma->vm_file->private_data;
ufile             880 drivers/infiniband/core/uverbs_main.c 	mutex_lock(&ufile->umap_lock);
ufile             882 drivers/infiniband/core/uverbs_main.c 	mutex_unlock(&ufile->umap_lock);
ufile             892 drivers/infiniband/core/uverbs_main.c 	struct ib_uverbs_file *ufile = vmf->vma->vm_file->private_data;
ufile             906 drivers/infiniband/core/uverbs_main.c 	mutex_lock(&ufile->umap_lock);
ufile             907 drivers/infiniband/core/uverbs_main.c 	if (!ufile->disassociate_page)
ufile             908 drivers/infiniband/core/uverbs_main.c 		ufile->disassociate_page =
ufile             911 drivers/infiniband/core/uverbs_main.c 	if (ufile->disassociate_page) {
ufile             916 drivers/infiniband/core/uverbs_main.c 		vmf->page = ufile->disassociate_page;
ufile             921 drivers/infiniband/core/uverbs_main.c 	mutex_unlock(&ufile->umap_lock);
ufile             940 drivers/infiniband/core/uverbs_main.c 	struct ib_uverbs_file *ufile = ucontext->ufile;
ufile             951 drivers/infiniband/core/uverbs_main.c 		    vma->vm_file->private_data != ufile))
ufile             953 drivers/infiniband/core/uverbs_main.c 	lockdep_assert_held(&ufile->device->disassociate_srcu);
ufile             970 drivers/infiniband/core/uverbs_main.c void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile)
ufile             974 drivers/infiniband/core/uverbs_main.c 	lockdep_assert_held(&ufile->hw_destroy_rwsem);
ufile             980 drivers/infiniband/core/uverbs_main.c 		mutex_lock(&ufile->umap_lock);
ufile             981 drivers/infiniband/core/uverbs_main.c 		while (!list_empty(&ufile->umaps)) {
ufile             984 drivers/infiniband/core/uverbs_main.c 			priv = list_first_entry(&ufile->umaps,
ufile             995 drivers/infiniband/core/uverbs_main.c 		mutex_unlock(&ufile->umap_lock);
ufile            1008 drivers/infiniband/core/uverbs_main.c 		mutex_lock(&ufile->umap_lock);
ufile            1009 drivers/infiniband/core/uverbs_main.c 		list_for_each_entry_safe (priv, next_priv, &ufile->umaps,
ufile            1020 drivers/infiniband/core/uverbs_main.c 		mutex_unlock(&ufile->umap_lock);
ufile             108 drivers/infiniband/core/uverbs_std_types.c 	ib_uverbs_release_uevent(attrs->ufile, &uqp->uevent);
ufile             141 drivers/infiniband/core/uverbs_std_types.c 	ib_uverbs_release_uevent(attrs->ufile, &uwq->uevent);
ufile             166 drivers/infiniband/core/uverbs_std_types.c 	ib_uverbs_release_uevent(attrs->ufile, uevent);
ufile             183 drivers/infiniband/core/uverbs_std_types.c 	mutex_lock(&attrs->ufile->device->xrcd_tree_mutex);
ufile             185 drivers/infiniband/core/uverbs_std_types.c 	mutex_unlock(&attrs->ufile->device->xrcd_tree_mutex);
ufile              52 drivers/infiniband/core/uverbs_std_types_cq.c 		attrs->ufile,
ufile             104 drivers/infiniband/core/uverbs_std_types_cq.c 	if (attr.comp_vector >= attrs->ufile->device->num_comp_vectors) {
ufile              21 drivers/infiniband/core/uverbs_std_types_device.c 	struct uverbs_api *uapi = attrs->ufile->device->uapi;
ufile              57 drivers/infiniband/core/uverbs_std_types_device.c gather_objects_handle(struct ib_uverbs_file *ufile,
ufile              75 drivers/infiniband/core/uverbs_std_types_device.c 	spin_lock_irq(&ufile->uobjects_lock);
ufile              76 drivers/infiniband/core/uverbs_std_types_device.c 	list_for_each_entry(obj, &ufile->uobjects, list) {
ufile              88 drivers/infiniband/core/uverbs_std_types_device.c 	spin_unlock_irq(&ufile->uobjects_lock);
ufile             112 drivers/infiniband/core/uverbs_std_types_device.c 	uapi_object = uapi_get_object(attrs->ufile->device->uapi, object_id);
ufile             116 drivers/infiniband/core/uverbs_std_types_device.c 	handles = gather_objects_handle(attrs->ufile, uapi_object, attrs,
ufile            1459 include/rdma/ib_verbs.h 	struct ib_uverbs_file  *ufile;
ufile            1479 include/rdma/ib_verbs.h 	struct ib_uverbs_file  *ufile;
ufile            4598 include/rdma/ib_verbs.h struct ib_ucontext *ib_uverbs_get_ucontext_file(struct ib_uverbs_file *ufile);
ufile             654 include/rdma/uverbs_ioctl.h 	struct ib_uverbs_file *ufile;
ufile             865 include/rdma/uverbs_ioctl.h 	return ib_uverbs_get_ucontext_file(attrs->ufile);
ufile              49 include/rdma/uverbs_std_types.h 	uapi_get_object((_attrs)->ufile->device->uapi, _object)
ufile              52 include/rdma/uverbs_std_types.h 	rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \
ufile              57 include/rdma/uverbs_std_types.h 	rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \
ufile              72 include/rdma/uverbs_std_types.h 	rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \
ufile             128 include/rdma/uverbs_std_types.h 		rdma_alloc_begin_uobject(obj, attrs->ufile, attrs);
ufile              86 include/rdma/uverbs_types.h 					  struct ib_uverbs_file *ufile);
ufile              93 include/rdma/uverbs_types.h 					 struct ib_uverbs_file *ufile, s64 id,
ufile             135 include/rdma/uverbs_types.h 					   struct ib_uverbs_file *ufile, s64 id,
ufile             141 include/rdma/uverbs_types.h 					    struct ib_uverbs_file *ufile,