The patch titled ecryptfs: don't muck with the existing nameidata structures has been added to the -mm tree. Its filename is ecryptfs-dont-muck-with-the-existing-nameidata-structures.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: ecryptfs: don't muck with the existing nameidata structures From: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/ecryptfs/dentry.c | 18 +++++++----------- fs/ecryptfs/inode.c | 14 +++++--------- 2 files changed, 12 insertions(+), 20 deletions(-) diff -puN fs/ecryptfs/dentry.c~ecryptfs-dont-muck-with-the-existing-nameidata-structures fs/ecryptfs/dentry.c --- 25/fs/ecryptfs/dentry.c~ecryptfs-dont-muck-with-the-existing-nameidata-structures Mon Jun 19 16:38:39 2006 +++ 25-akpm/fs/ecryptfs/dentry.c Mon Jun 19 16:38:39 2006 @@ -41,23 +41,19 @@ */ static int ecryptfs_d_revalidate(struct dentry *dentry, struct nameidata *nd) { - int err = 1; + int rc = 1; struct dentry *lower_dentry; - struct dentry *saved_dentry; - struct vfsmount *saved_vfsmount; + struct nameidata lower_nd; lower_dentry = ecryptfs_dentry_to_lower(dentry); if (!lower_dentry->d_op || !lower_dentry->d_op->d_revalidate) goto out; - saved_dentry = nd->dentry; - saved_vfsmount = nd->mnt; - nd->dentry = lower_dentry; - nd->mnt = ecryptfs_superblock_to_private(dentry->d_sb)->lower_mnt; - err = lower_dentry->d_op->d_revalidate(lower_dentry, nd); - nd->dentry = saved_dentry; - nd->mnt = saved_vfsmount; + memcpy(&lower_nd, nd, sizeof(struct nameidata)); + lower_nd.dentry = lower_dentry; + lower_nd.mnt = ecryptfs_superblock_to_private(dentry->d_sb)->lower_mnt; + rc = lower_dentry->d_op->d_revalidate(lower_dentry, &lower_nd); out: - return err; + return rc; } struct kmem_cache *ecryptfs_dentry_info_cache; diff -puN fs/ecryptfs/inode.c~ecryptfs-dont-muck-with-the-existing-nameidata-structures fs/ecryptfs/inode.c --- 25/fs/ecryptfs/inode.c~ecryptfs-dont-muck-with-the-existing-nameidata-structures Mon Jun 19 16:38:39 2006 +++ 25-akpm/fs/ecryptfs/inode.c Mon Jun 19 16:38:39 2006 @@ -122,17 +122,13 @@ ecryptfs_create_underlying_file(struct i struct nameidata *nd) { int rc; - struct dentry *saved_dentry = NULL; - struct vfsmount *saved_vfsmount = NULL; + struct nameidata lower_nd; - saved_dentry = nd->dentry; - saved_vfsmount = nd->mnt; - nd->dentry = lower_dentry; - nd->mnt = ecryptfs_superblock_to_private( + memcpy(&lower_nd, nd, sizeof(struct nameidata)); + lower_nd.dentry = lower_dentry; + lower_nd.mnt = ecryptfs_superblock_to_private( ecryptfs_dentry->d_sb)->lower_mnt; - rc = vfs_create(lower_dir_inode, lower_dentry, mode, nd); - nd->dentry = saved_dentry; - nd->mnt = saved_vfsmount; + rc = vfs_create(lower_dir_inode, lower_dentry, mode, &lower_nd); return rc; } _ Patches currently in -mm which might be from mhalcrow@xxxxxxxxxx are ecryptfs-fs-makefile-and-fs-kconfig.patch ecryptfs-fs-makefile-and-fs-kconfig-remove-ecrypt_debug-from-fs-kconfig.patch ecryptfs-documentation.patch ecryptfs-makefile.patch ecryptfs-main-module-functions.patch ecryptfs-main-module-functions-uint16_t-u16.patch ecryptfs-header-declarations.patch ecryptfs-header-declarations-update.patch ecryptfs-header-declarations-update-convert-signed-data-types-to-unsigned-data-types.patch ecryptfs-header-declarations-remove-unnecessary-ifndefs.patch ecryptfs-superblock-operations.patch ecryptfs-dentry-operations.patch ecryptfs-file-operations.patch ecryptfs-file-operations-remove-null-==-syntax.patch ecryptfs-file-operations-remove-extraneous-read-of-inode-size-from-header.patch ecryptfs-file-operations-fix.patch ecryptfs-file-operations-fix-premature-release-of-file_info-memory.patch ecryptfs-inode-operations.patch ecryptfs-mmap-operations.patch mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch ecryptfs-keystore.patch ecryptfs-crypto-functions.patch ecryptfs-debug-functions.patch ecryptfs-alpha-build-fix.patch ecryptfs-convert-assert-to-bug_on.patch ecryptfs-remove-unnecessary-null-checks.patch ecryptfs-rewrite-ecryptfs_fsync.patch ecryptfs-overhaul-file-locking.patch ecryptfs-dont-muck-with-the-existing-nameidata-structures.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html