Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b42af81 authored by Al Viro's avatar Al Viro
Browse files

switch shmem_file_setup() to alloc_file()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 853b3da1
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -2647,32 +2647,29 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
	if (!dentry)
		goto put_memory;

	error = -ENFILE;
	file = get_empty_filp();
	if (!file)
		goto put_dentry;

	error = -ENOSPC;
	inode = shmem_get_inode(root->d_sb, S_IFREG | S_IRWXUGO, 0, flags);
	if (!inode)
		goto close_file;
		goto put_dentry;

	d_instantiate(dentry, inode);
	inode->i_size = size;
	inode->i_nlink = 0;	/* It is unlinked */
	init_file(file, shm_mnt, dentry, FMODE_WRITE | FMODE_READ,
		  &shmem_file_operations);

#ifndef CONFIG_MMU
	error = ramfs_nommu_expand_for_mapping(inode, size);
	if (error)
		goto close_file;
		goto put_dentry;
#endif

	error = -ENFILE;
	file = alloc_file(shm_mnt, dentry, FMODE_WRITE | FMODE_READ,
		  &shmem_file_operations);
	if (!file)
		goto put_dentry;

	ima_counts_get(file);
	return file;

close_file:
	put_filp(file);
put_dentry:
	dput(dentry);
put_memory: