2.6.32-longterm review patch. If anyone has any objections, please let me know.
------------------ From: Colin Ian King <[email protected]> commit 545d680938be1e86a6c5250701ce9abaf360c495 upstream. 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 <[email protected]> Reported-by: Sebastien Bacher <[email protected]> Cc: John Johansen <[email protected]> Cc: <[email protected]> Acked-by: Herton Ronaldo Krzesinski <[email protected]> Acked-by: Andy Whitcroft <[email protected]> Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Andy Whitcroft <[email protected]> Signed-off-by: Willy Tarreau <[email protected]> --- 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.2.1.45.g54fbc -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

