aboutsummaryrefslogtreecommitdiff
path: root/fs/jfs/jfs_discard.c
diff options
context:
space:
mode:
authorJie Liu2014-01-02 11:30:42 -0600
committerDave Kleikamp2014-01-02 11:36:56 -0600
commit0439e091e3b1fe41a350540c84857a573fde3d72 (patch)
tree56a720ab70a9ad00c6cb405915bda26f2665d7ba /fs/jfs/jfs_discard.c
parent9a0bb2966efbf30a71c128c3af63307d8b5f5fc0 (diff)
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 <jeff.liu@oracle.com> Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Diffstat (limited to 'fs/jfs/jfs_discard.c')
0 files changed, 0 insertions, 0 deletions