Commit a7dab9e8 authored by Roland Dreier's avatar Roland Dreier
Browse files

IB/uverbs: Use alloc_file() instead of get_empty_filp()



Christoph Hellwig wants to unexport get_empty_filp(), which is an ugly
internal interface.  Change the modular user in ib_uverbs_alloc_event_file()
to use the better alloc_file() interface; this makes the code cleaner too.

Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 1ae5c187
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -517,23 +517,18 @@ struct file *ib_uverbs_alloc_event_file(struct ib_uverbs_file *uverbs_file,
		goto err;
	}

	filp = get_empty_filp();
	if (!filp) {
		ret = -ENFILE;
		goto err_fd;
	}

	/*
	 * fops_get() can't fail here, because we're coming from a
	 * system call on a uverbs file, which will already have a
	 * module reference.
	 */
	filp->f_op 	   = fops_get(&uverbs_event_fops);
	filp->f_path.mnt 	   = mntget(uverbs_event_mnt);
	filp->f_path.dentry 	   = dget(uverbs_event_mnt->mnt_root);
	filp->f_mapping    = filp->f_path.dentry->d_inode->i_mapping;
	filp->f_flags      = O_RDONLY;
	filp->f_mode       = FMODE_READ;
	filp = alloc_file(uverbs_event_mnt, dget(uverbs_event_mnt->mnt_root),
			  FMODE_READ, fops_get(&uverbs_event_fops));
	if (!filp) {
		ret = -ENFILE;
		goto err_fd;
	}

	filp->private_data = ev_file;

	return filp;