linux/fs/jfs
Jie Liu 0439e091e3 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>
2014-01-02 11:36:56 -06:00
..
acl.c userns: Pass a userns parameter into posix_acl_to_xattr and posix_acl_from_xattr 2012-09-18 01:01:35 -07:00
endian24.h
file.c jfs: drop vmtruncate 2012-12-20 18:40:52 -05:00
inode.c truncate: drop 'oldsize' truncate_pagecache() parameter 2013-09-12 15:38:02 -07:00
ioctl.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
jfs_acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
jfs_btree.h
jfs_debug.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
jfs_debug.h
jfs_dinode.h
jfs_discard.c jfs: Fix FITRIM argument handling 2012-10-17 09:18:38 -05:00
jfs_discard.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_dmap.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_dmap.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_dtree.c jfs: fix readdir cookie incompatibility with NFSv4 2013-08-15 17:22:29 -05:00
jfs_dtree.h [readdir] convert jfs 2013-06-29 12:56:42 +04:00
jfs_extent.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_extent.h
jfs_filsys.h fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
jfs_imap.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_imap.h
jfs_incore.h JFS TRIM support and some minor fixes 2012-10-03 08:48:21 -07:00
jfs_inode.c jfs: fix error path in ialloc 2013-09-17 10:05:19 -05:00
jfs_inode.h fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
jfs_lock.h
jfs_logmgr.c fs/jfs: Add check if journaling to disk has been disabled in lbmRead() 2013-05-24 16:03:47 -05:00
jfs_logmgr.h Fix common misspellings 2011-03-31 11:26:23 -03:00
jfs_metapage.c A couple cleanups to JFS for 3.11 2013-07-11 10:19:34 -07:00
jfs_metapage.h Fix common misspellings 2011-03-31 11:26:23 -03:00
jfs_mount.c fix printk typo 'faild' 2010-08-09 11:25:17 +02:00
jfs_superblock.h jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_txnmgr.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_txnmgr.h
jfs_types.h
jfs_umount.c jfs: flush journal completely before releasing metadata inodes 2011-08-01 12:41:00 -05:00
jfs_unicode.c
jfs_unicode.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
jfs_uniupr.c
jfs_xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
jfs_xtree.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
jfs_xtree.h
Kconfig
Makefile fs/jfs: TRIM support for JFS Filesystem 2012-09-17 11:58:19 -05:00
namei.c A couple cleanups to JFS for 3.11 2013-07-11 10:19:34 -07:00
resize.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
super.c jfs: Update jfs_error 2013-06-05 14:47:19 -05:00
symlink.c jfs: add jfs specific ->setattr call 2010-04-16 08:05:50 -05:00
xattr.c jfs: fix xattr value size overflow in __jfs_setxattr 2014-01-02 11:36:56 -06:00