ovl: allow zero size xattr
authorMiklos Szeredi <miklos@szeredi.hu>
Tue, 10 Nov 2015 16:08:41 +0000 (17:08 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Feb 2016 20:01:23 +0000 (12:01 -0800)
commit 97daf8b97ad6f913a34c82515be64dc9ac08d63e upstream.

When ovl_copy_xattr() encountered a zero size xattr no more xattrs were
copied and the function returned success.  This is clearly not the desired
behavior.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/overlayfs/copy_up.c

index 0a8983492d917bbc61888559e8417f738eb607be..927cb5668dc760bb317cde78b74ee8c6aa75ad7b 100644 (file)
@@ -54,7 +54,7 @@ int ovl_copy_xattr(struct dentry *old, struct dentry *new)
 
        for (name = buf; name < (buf + list_size); name += strlen(name) + 1) {
                size = vfs_getxattr(old, name, value, XATTR_SIZE_MAX);
-               if (size <= 0) {
+               if (size < 0) {
                        error = size;
                        goto out_free_value;
                }