From: Jie Liu Date: Thu, 2 Jan 2014 17:30:42 +0000 (-0600) Subject: jfs: fix xattr value size overflow in __jfs_setxattr X-Git-Tag: v3.14-rc1~27^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0439e091e3b1fe41a350540c84857a573fde3d72;p=pandora-kernel.git jfs: fix xattr value size overflow in __jfs_setxattr There is a potential overflow if the specified EA value size is greater than USHRT_MAX because the size of value is limited by the on-disk format (i.e, __le16), this issue could be reflected via the tests below: # touch /jfs/testfile # setfattr -n user.comment -v `perl -e 'print "A"x65536'` /jfs/testfile setfattr: /jfs/testfile: Invalid argument Syslog: ... jfs_xsetattr: xattr_size = 21, new_size = 65557 This patch add pre-checkups of EA value size against USHRT_MAX to avoid this problem, and return -E2BIG which is consistent with the VFS setxattr interface. Moreover, fix the debug code to print the correct function name. With this fix: setfattr: /jfs/testfile: Argument list too long Signed-off-by: Jie Liu Signed-off-by: Dave Kleikamp --- Reading git-diff-tree failed