commit 44651c6cf407977f7fcdb80fa4d35bd2cd17e541
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date: Wed May 23 18:43:40 2007 -0400
set gid/uid to 0 in ofd_release_sr
diff --git a/fs/unionfs/odf.c b/fs/unionfs/odf.c
index 8ad279f..1d4816b 100644
--- a/fs/unionfs/odf.c
+++ b/fs/unionfs/odf.c
@@ -367,6 +367,8 @@ int odf_release_sr(struct inode *inode)
struct odf_dentry_info *odi_sr, *odi_rc;
char name[ODF_INAME_LEN];
int err = 0;
+ uid_t olduid = current->fsuid;
+ gid_t oldgid = current->fsgid;
odi_sr = UNIONFS_SB(inode->i_sb)->odf->odi_sr;
odi_rc = UNIONFS_SB(inode->i_sb)->odf->odi_rc;
@@ -399,8 +401,12 @@ int odf_release_sr(struct inode *inode)
}
lock_rename(old_dentry->d_parent, new_dentry->d_parent);
+ current->fsuid = 0;
+ current->fsgid = 0;
err = vfs_rename(old_dentry->d_parent->d_inode, old_dentry,
new_dentry->d_parent->d_inode, new_dentry);
+ current->fsuid = olduid;
+ current->fsgid = oldgid;
unlock_rename(old_dentry->d_parent, new_dentry->d_parent);
out_unlock:
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs