Mercurial > yaffs-ecoscentric-gpl
changeset 133:2f69a6372caf
Fix SGID problem
| author | charles <charles> |
|---|---|
| date | Thu, 25 May 2006 01:26:57 +0000 |
| parents | f0d1a05787e4 |
| children | 8a3c44a06d97 |
| files | yaffs_fs.c |
| diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -31,7 +31,7 @@ */ const char *yaffs_fs_c_version = - "$Id: yaffs_fs.c,v 1.48 2006-05-21 09:39:12 charles Exp $"; + "$Id: yaffs_fs.c,v 1.49 2006-05-25 01:26:57 charles Exp $"; extern const char *yaffs_guts_c_version; #include <linux/config.h> @@ -910,6 +910,9 @@ static int yaffs_mknod(struct inode *dir int error = -ENOSPC; uid_t uid = current->fsuid; gid_t gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; + + if((dir->i_mode & S_ISGID) && S_ISDIR(mode)) + mode |= S_ISGID; if (parent) { T(YAFFS_TRACE_OS,
