Messages in this thread Patch in this message | | | Date | Thu, 22 Apr 2010 12:54:46 -0700 | From | Greg KH <> | Subject | [109/139] ecryptfs: fix error code for missing xattrs in lower fs |
| |
2.6.33-stable review patch. If anyone has any objections, please let us know.
------------------
From: Christian Pulvermacher <pulvermacher@gmx.de>
commit cfce08c6bdfb20ade979284e55001ca1f100ed51 upstream.
If the lower file system driver has extended attributes disabled, ecryptfs' own access functions return -ENOSYS instead of -EOPNOTSUPP. This breaks execution of programs in the ecryptfs mount, since the kernel expects the latter error when checking for security capabilities in xattrs.
Signed-off-by: Christian Pulvermacher <pulvermacher@gmx.de> Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- fs/ecryptfs/inode.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
--- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -1042,7 +1042,7 @@ ecryptfs_setxattr(struct dentry *dentry, lower_dentry = ecryptfs_dentry_to_lower(dentry); if (!lower_dentry->d_inode->i_op->setxattr) { - rc = -ENOSYS; + rc = -EOPNOTSUPP; goto out; } mutex_lock(&lower_dentry->d_inode->i_mutex); @@ -1060,7 +1060,7 @@ ecryptfs_getxattr_lower(struct dentry *l int rc = 0; if (!lower_dentry->d_inode->i_op->getxattr) { - rc = -ENOSYS; + rc = -EOPNOTSUPP; goto out; } mutex_lock(&lower_dentry->d_inode->i_mutex); @@ -1087,7 +1087,7 @@ ecryptfs_listxattr(struct dentry *dentry lower_dentry = ecryptfs_dentry_to_lower(dentry); if (!lower_dentry->d_inode->i_op->listxattr) { - rc = -ENOSYS; + rc = -EOPNOTSUPP; goto out; } mutex_lock(&lower_dentry->d_inode->i_mutex); @@ -1104,7 +1104,7 @@ static int ecryptfs_removexattr(struct d lower_dentry = ecryptfs_dentry_to_lower(dentry); if (!lower_dentry->d_inode->i_op->removexattr) { - rc = -ENOSYS; + rc = -EOPNOTSUPP; goto out; } mutex_lock(&lower_dentry->d_inode->i_mutex);
| |