ecryptfs: fix error code for missing xattrs in lower fs

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>
Cc: stable@kernel.org
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>

authored by Christian Pulvermacher and committed by Tyler Hicks cfce08c6 3a60a168

+4 -4
+4 -4
fs/ecryptfs/inode.c
··· 1043 1043 1044 1044 lower_dentry = ecryptfs_dentry_to_lower(dentry); 1045 1045 if (!lower_dentry->d_inode->i_op->setxattr) { 1046 - rc = -ENOSYS; 1046 + rc = -EOPNOTSUPP; 1047 1047 goto out; 1048 1048 } 1049 1049 mutex_lock(&lower_dentry->d_inode->i_mutex); ··· 1061 1061 int rc = 0; 1062 1062 1063 1063 if (!lower_dentry->d_inode->i_op->getxattr) { 1064 - rc = -ENOSYS; 1064 + rc = -EOPNOTSUPP; 1065 1065 goto out; 1066 1066 } 1067 1067 mutex_lock(&lower_dentry->d_inode->i_mutex); ··· 1088 1088 1089 1089 lower_dentry = ecryptfs_dentry_to_lower(dentry); 1090 1090 if (!lower_dentry->d_inode->i_op->listxattr) { 1091 - rc = -ENOSYS; 1091 + rc = -EOPNOTSUPP; 1092 1092 goto out; 1093 1093 } 1094 1094 mutex_lock(&lower_dentry->d_inode->i_mutex); ··· 1105 1105 1106 1106 lower_dentry = ecryptfs_dentry_to_lower(dentry); 1107 1107 if (!lower_dentry->d_inode->i_op->removexattr) { 1108 - rc = -ENOSYS; 1108 + rc = -EOPNOTSUPP; 1109 1109 goto out; 1110 1110 } 1111 1111 mutex_lock(&lower_dentry->d_inode->i_mutex);