[RFC PATCH 01/15] shmem: do not call fput_filp on an initialized filp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



fput_filp is supposed to be used when the filp was not used.  But in the
ifndef CONFIG_MMU case shmem_setup_file could call this one an initialized
filp.  It should be using fput() instead.  Since the fput() will dec the ima
counts we also need to move the ima hook to make sure that is set up before
the fput().

Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>
Acked-by: Miklos Szeredi <miklos@xxxxxxxxxx>
---

 mm/shmem.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index 356dd99..e7f8968 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2656,12 +2656,15 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
 	init_file(file, shm_mnt, dentry, FMODE_WRITE | FMODE_READ,
 		  &shmem_file_operations);
 
+	ima_counts_get(file);
+
 #ifndef CONFIG_MMU
 	error = ramfs_nommu_expand_for_mapping(inode, size);
-	if (error)
-		goto close_file;
+	if (error) {
+		fput(file);
+		return error;
+	}
 #endif
-	ima_counts_get(file);
 	return file;
 
 close_file:

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux