[PATCH] simple_xattr: permit 0-size extended attributes

From: Hugh Dickins
Date: Wed Jul 16 2014 - 16:16:20 EST


If a filesystem uses simple_xattr to support user extended attributes,
LTP setxattr01 and xfstests generic/062 fail with "Cannot allocate memory":
simple_xattr_alloc()'s wrap-around test mistakenly excludes values of zero
size. Fix that off-by-one (but apparently no filesystem needs them yet).

Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
---

fs/xattr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- 3.16-rc5/fs/xattr.c 2013-02-18 15:58:34.000000000 -0800
+++ linux/fs/xattr.c 2014-07-16 12:47:10.640004412 -0700
@@ -843,7 +843,7 @@ struct simple_xattr *simple_xattr_alloc(

/* wrap around? */
len = sizeof(*new_xattr) + size;
- if (len <= sizeof(*new_xattr))
+ if (len < sizeof(*new_xattr))
return NULL;

new_xattr = kmalloc(len, GFP_KERNEL);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/