Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb348edb authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

ovl: explain error values when removing acl from workdir

parent 6a45b362
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -832,6 +832,19 @@ static struct dentry *ovl_workdir_create(struct vfsmount *mnt,
		if (err)
			goto out_dput;

		/*
		 * Try to remove POSIX ACL xattrs from workdir.  We are good if:
		 *
		 * a) success (there was a POSIX ACL xattr and was removed)
		 * b) -ENODATA (there was no POSIX ACL xattr)
		 * c) -EOPNOTSUPP (POSIX ACL xattrs are not supported)
		 *
		 * There are various other error values that could effectively
		 * mean that the xattr doesn't exist (e.g. -ERANGE is returned
		 * if the xattr name is too long), but the set of filesystems
		 * allowed as upper are limited to "normal" ones, where checking
		 * for the above two errors is sufficient.
		 */
		err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT);
		if (err && err != -ENODATA && err != -EOPNOTSUPP)
			goto out_dput;