summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2016-09-05 13:55:20 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2016-09-05 13:55:20 +0200
commite1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c (patch)
tree6de48b08f6b834e15b209520b86fc7da8f76bfad /fs
parent026e5e0cc12474495515275d9c176ef823238c70 (diff)
downloadlinux-0-day-e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c.tar.gz
linux-0-day-e1ff3dd1ae52cef5b5373c8cc4ad949c2c25a71c.tar.xz
ovl: fix workdir creation
Workdir creation fails in latest kernel. Fix by allowing EOPNOTSUPP as a valid return value from vfs_removexattr(XATTR_NAME_POSIX_ACL_*). Upper filesystem may not support ACL and still be perfectly able to support overlayfs. Reported-by: Martin Ziegler <ziegler@uni-freiburg.de> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com> Fixes: c11b9fdd6a61 ("ovl: remove posix_acl_default from workdir") Cc: <stable@vger.kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/overlayfs/super.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index a4585f961bf91..e2a94a26767ba 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -835,11 +835,11 @@ retry:
goto out_dput;
err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT);
- if (err && err != -ENODATA)
+ if (err && err != -ENODATA && err != -EOPNOTSUPP)
goto out_dput;
err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_ACCESS);
- if (err && err != -ENODATA)
+ if (err && err != -ENODATA && err != -EOPNOTSUPP)
goto out_dput;
/* Clear any inherited mode bits */