[PATCH linux-next] configfs: set new file and directory owners

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

 



All new files and directories in configfs are owned by root, regardless
of the process which creates them.  Fix this by preserving filesystem
semantics and assigning the uid and gid of the current process to all
new items in configfs.

Signed-off-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx>
---
 fs/configfs/dir.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index c81ce7f..f05dfa8 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -31,6 +31,8 @@
 #include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/err.h>
+#include <linux/sched.h>
+#include <linux/cred.h>
 
 #include <linux/configfs.h>
 #include "configfs_internal.h"
@@ -245,6 +247,9 @@ static void init_dir(struct inode * inode)
 	inode->i_op = &configfs_dir_inode_operations;
 	inode->i_fop = &configfs_dir_operations;
 
+	inode->i_uid = current_fsuid();
+	inode->i_gid = current_fsgid();
+
 	/* directory inodes start off with i_nlink == 2 (for "." entry) */
 	inc_nlink(inode);
 }
@@ -253,6 +258,9 @@ static void configfs_init_file(struct inode * inode)
 {
 	inode->i_size = PAGE_SIZE;
 	inode->i_fop = &configfs_file_operations;
+
+	inode->i_uid = current_fsuid();
+	inode->i_gid = current_fsgid();
 }
 
 static void init_symlink(struct inode * inode)
-- 
1.9.1

--
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