Hi James, Today's linux-next merge of the security-testing tree got a conflict in fs/ocfs2/namei.c between commit 8b50970dda2c81dfbd120ae650fcf5439f268f37 ("[PATCH 01/10] ocfs2: move new inode allocation out of the transaction") from the ocsf2 tree and commit b19c2a3b839b9dfb3f258e8943dc3784ae20c7b0 ("CRED: Wrap task credential accesses in the OCFS2 filesystem") from the security-testing tree. I fixed it up (see below) and can carry it. The ocfs2 tree change moved the place where the security-testing tree change to this file needs to be made. The below patch could be applied to the ocfs2 tree (as part of the above security-testing patch as all its dependencies are already upstream. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx http://www.canb.auug.org.au/~sfr/ diff --cc fs/ocfs2/namei.c index 98fd325,2545e74..0000000 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c @@@ -187,34 -186,6 +187,34 @@@ bail return ret; } +static struct inode *ocfs2_get_init_inode(struct inode *dir, int mode) +{ + struct inode *inode; + + inode = new_inode(dir->i_sb); + if (!inode) { + mlog(ML_ERROR, "new_inode failed!\n"); + return NULL; + } + + /* populate as many fields early on as possible - many of + * these are used by the support functions here and in + * callers. */ + if (S_ISDIR(mode)) + inode->i_nlink = 2; + else + inode->i_nlink = 1; - inode->i_uid = current->fsuid; ++ inode->i_uid = current_fsuid(); + if (dir->i_mode & S_ISGID) { + inode->i_gid = dir->i_gid; + if (S_ISDIR(mode)) + mode |= S_ISGID; + } else - inode->i_gid = current->fsgid; ++ inode->i_gid = current_fsgid(); + inode->i_mode = mode; + return inode; +} + static int ocfs2_mknod(struct inode *dir, struct dentry *dentry, int mode, -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html