Ack: Re: [PATCH 1/1] eCryptfs: Copy up lower inode attrs after setting lower xattr

Herton Ronaldo Krzesinski herton.krzesinski at canonical.com
Mon Mar 12 21:14:21 UTC 2012


On Mon, Mar 12, 2012 at 09:01:37PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
> 
> After passing through a ->setxattr() call, eCryptfs needs to copy the
> inode attributes from the lower inode to the eCryptfs inode, as they
> may have changed in the lower filesystem's ->setxattr() path.
> 
> One example is if an extended attribute containing a POSIX Access
> Control List is being set. The new ACL may cause the lower filesystem to
> modify the mode of the lower inode and the eCryptfs inode would need to
> be updated to reflect the new mode.
> 
> https://launchpad.net/bugs/926292
> 
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
> Reported-by: Sebastien Bacher <seb128 at ubuntu.com>
> Cc: John Johansen <john.johansen at canonical.com>
> Cc: <stable at vger.kernel.org>
> (backport of upstream commit 5d58bd2bb0e9b3576a5ae26879a73e6c30cd3914)
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  fs/ecryptfs/inode.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
> index 90a6087..645da17 100644
> --- a/fs/ecryptfs/inode.c
> +++ b/fs/ecryptfs/inode.c
> @@ -1035,6 +1035,8 @@ ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value,
>  	rc = lower_dentry->d_inode->i_op->setxattr(lower_dentry, name, value,
>  						   size, flags);
>  	mutex_unlock(&lower_dentry->d_inode->i_mutex);
> +	if (!rc)
> +		fsstack_copy_attr_all(dentry->d_inode, lower_dentry->d_inode, NULL);
>  out:
>  	return rc;
>  }
> -- 
> 1.7.0.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
> 

-- 
[]'s
Herton




More information about the kernel-team mailing list