+ ecryptfs-dont-muck-with-the-existing-nameidata-structures.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux