forked from luck/tmp_suning_uos_patched
[PATCH] ecryptfs: check xattr operation support fix
- ecryptfs_write_inode_size_to_metadata() error code was ignored. - i_op->setxattr() must be supported by lower fs because used below. Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org> Acked-by: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
58e0543e8f
commit
ad5f119679
|
@ -168,8 +168,8 @@ static int grow_file(struct dentry *ecryptfs_dentry, struct file *lower_file,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
i_size_write(inode, 0);
|
i_size_write(inode, 0);
|
||||||
ecryptfs_write_inode_size_to_metadata(lower_file, lower_inode, inode,
|
rc = ecryptfs_write_inode_size_to_metadata(lower_file, lower_inode,
|
||||||
ecryptfs_dentry,
|
inode, ecryptfs_dentry,
|
||||||
ECRYPTFS_LOWER_I_MUTEX_NOT_HELD);
|
ECRYPTFS_LOWER_I_MUTEX_NOT_HELD);
|
||||||
ecryptfs_inode_to_private(inode)->crypt_stat.flags |= ECRYPTFS_NEW_FILE;
|
ecryptfs_inode_to_private(inode)->crypt_stat.flags |= ECRYPTFS_NEW_FILE;
|
||||||
out:
|
out:
|
||||||
|
|
|
@ -502,7 +502,8 @@ static int ecryptfs_write_inode_size_to_xattr(struct inode *lower_inode,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry);
|
lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry);
|
||||||
if (!lower_dentry->d_inode->i_op->getxattr) {
|
if (!lower_dentry->d_inode->i_op->getxattr ||
|
||||||
|
!lower_dentry->d_inode->i_op->setxattr) {
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"No support for setting xattr in lower filesystem\n");
|
"No support for setting xattr in lower filesystem\n");
|
||||||
rc = -ENOSYS;
|
rc = -ENOSYS;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user