rendered paste bodyIndex: fs/aufs/export.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs/export.c,vretrieving revision 1.43diff -u -r1.43 export.c--- fs/aufs/export.c 26 Jan 2009 06:24:45 -0000 1.43+++ fs/aufs/export.c 1 May 2009 11:30:06 -0000@@ -375,7 +375,7 @@ if (nsi_lock) si_read_unlock(parent->d_sb); path_get(path);- file = dentry_open(parent, path->mnt, au_dir_roflags);+ file = dentry_open(parent, path->mnt, au_dir_roflags, current_cred()); dentry = (void *)file; if (IS_ERR(file)) goto out;Index: fs/aufs/file.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs/file.c,vretrieving revision 1.83diff -u -r1.83 file.c--- fs/aufs/file.c 26 Jan 2009 06:23:56 -0000 1.83+++ fs/aufs/file.c 1 May 2009 11:30:06 -0000@@ -102,7 +102,7 @@ if (file && au_test_nfs(h_dentry->d_sb)) h_file = au_h_intent(dentry, bindex, file); if (!h_file)- h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags);+ h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags, current_cred()); /* * a dirty trick for handling FMODE_EXEC and deny_write_access().Index: fs/aufs/inode.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs/inode.c,vretrieving revision 1.55diff -u -r1.55 inode.c--- fs/aufs/inode.c 26 Jan 2009 06:24:45 -0000 1.55+++ fs/aufs/inode.c 1 May 2009 11:30:06 -0000@@ -414,7 +414,7 @@ int au_test_h_perm(struct inode *h_inode, int mask, int dlgt) {- if (!current->fsuid)+ if (!current_fsuid()) return 0; /* todo: fake nameidata? */ return vfsub_permission(h_inode, mask, NULL, dlgt);Index: fs/aufs/whout.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs/whout.c,vretrieving revision 1.47diff -u -r1.47 whout.c--- fs/aufs/whout.c 26 Jan 2009 06:24:19 -0000 1.47+++ fs/aufs/whout.c 1 May 2009 11:30:07 -0000@@ -278,7 +278,7 @@ */ vfsub_args_init(&vargs, &ign, dlgt, (h_dir->i_mode & S_ISVTX)- && wh_dentry->d_inode->i_uid != current->fsuid);+ && wh_dentry->d_inode->i_uid != current_fsuid()); vfsub_ign_hinode(&vargs, IN_DELETE, hdir); err = vfsub_unlink(h_dir, wh_dentry, &vargs); AuTraceErr(err);Index: fs/aufs/xino.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs/xino.c,vretrieving revision 1.65diff -u -r1.65 xino.c--- fs/aufs/xino.c 26 Jan 2009 06:24:24 -0000 1.65+++ fs/aufs/xino.c 1 May 2009 11:30:07 -0000@@ -630,7 +630,7 @@ goto out_dput; } file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt),- O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE);+ O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, current_cred()); if (IS_ERR(file)) { AuErr("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file)); goto out_dput;Index: fs/aufs25/file.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs25/file.c,vretrieving revision 1.20diff -u -r1.20 file.c--- fs/aufs25/file.c 26 Jan 2009 06:24:29 -0000 1.20+++ fs/aufs25/file.c 1 May 2009 11:30:07 -0000@@ -99,7 +99,7 @@ if (file && au_test_nfs(h_dentry->d_sb)) h_file = au_h_intent(dentry, bindex, file); if (!h_file)- h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags);+ h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags,current_cred()); /* * a dirty trick for handling FMODE_EXEC and deny_write_access().Index: fs/aufs25/inode.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs25/inode.c,vretrieving revision 1.18diff -u -r1.18 inode.c--- fs/aufs25/inode.c 26 Jan 2009 06:24:45 -0000 1.18+++ fs/aufs25/inode.c 1 May 2009 11:30:07 -0000@@ -405,7 +405,7 @@ int au_test_h_perm(struct inode *h_inode, int mask, int dlgt) {- if (!current->fsuid)+ if (!current_fsuid()) return 0; /* todo: fake nameidata? */ return vfsub_permission(h_inode, mask, NULL, dlgt);Index: fs/aufs25/whout.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs25/whout.c,vretrieving revision 1.19diff -u -r1.19 whout.c--- fs/aufs25/whout.c 26 Jan 2009 06:24:19 -0000 1.19+++ fs/aufs25/whout.c 1 May 2009 11:30:07 -0000@@ -276,7 +276,7 @@ */ vfsub_args_init(&vargs, &ign, dlgt, (h_dir->i_mode & S_ISVTX)- && wh_dentry->d_inode->i_uid != current->fsuid);+ && wh_dentry->d_inode->i_uid != current_fsuid()); vfsub_ign_hinode(&vargs, IN_DELETE, hdir); err = vfsub_unlink(h_dir, wh_dentry, &vargs); AuTraceErr(err);@@ -625,7 +625,7 @@ struct vfsub_args vargs; AuTraceEnter();- AuDebugOn(current->fsuid);+ AuDebugOn(current_fsuid()); err = 0; wbr = a->br->br_wbr;Index: fs/aufs25/xino.c===================================================================RCS file: /cvsroot/aufs/aufs/fs/aufs25/xino.c,vretrieving revision 1.20diff -u -r1.20 xino.c--- fs/aufs25/xino.c 26 Jan 2009 06:24:24 -0000 1.20+++ fs/aufs25/xino.c 1 May 2009 11:30:07 -0000@@ -621,7 +621,7 @@ goto out_dput; } file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt),- O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE);+ O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, current_cred()); if (IS_ERR(file)) { AuErr("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file)); goto out_dput;