[PATCH 1/1] eCryptfs: Copy up lower inode attrs after setting lower xattr
Andy Whitcroft
apw at canonical.com
Mon Mar 12 21:45:59 UTC 2012
On Mon, Mar 12, 2012 at 09:00:28PM +0000, Colin King wrote:
> From: Tyler Hicks <tyhicks 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>
> (cherry picked from commit 545d680938be1e86a6c5250701ce9abaf360c495)
> 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 19892d7..ab35b11 100644
> --- a/fs/ecryptfs/inode.c
> +++ b/fs/ecryptfs/inode.c
> @@ -1085,6 +1085,8 @@ ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value,
> }
>
> rc = vfs_setxattr(lower_dentry, name, value, size, flags);
> + if (!rc)
> + fsstack_copy_attr_all(dentry->d_inode, lower_dentry->d_inode);
> out:
> return rc;
> }
Looks to do what is claimed.
Acked-by: Andy Whitcroft <apw at canonical.com>
-apw
More information about the kernel-team
mailing list