linux-stable/fs/coda
Jan Harkes 3725e9dd5b fs/coda: fix readlink buffer overflow
Dan Carpenter discovered a buffer overflow in the Coda file system
readlink code.  A userspace file system daemon can return a 4096 byte
result which then triggers a one byte write past the allocated readlink
result buffer.

This does not trigger with an unmodified Coda implementation because Coda
has a 1024 byte limit for symbolic links, however other userspace file
systems using the Coda kernel module could be affected.

Although this is an obvious overflow, I don't think this has to be handled
as too sensitive from a security perspective because the overflow is on
the Coda userspace daemon side which already needs root to open Coda's
kernel device and to mount the file system before we get to the point that
links can be read.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10 13:29:01 -07:00
..
cache.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
cnode.c fs/coda: use __func__ 2014-06-06 16:08:09 -07:00
coda_cache.h take coda-private headers out of include/linux 2011-01-12 20:02:48 -05:00
coda_fs_i.h coda: Cache permisions in struct coda_inode_info in a kuid_t. 2013-02-13 06:00:54 -08:00
coda_int.h fs/coda/inode.c: add __init to init_inodecache() 2014-04-03 16:21:25 -07:00
coda_linux.c new helper: is_root_inode() 2014-10-31 17:48:54 -04:00
coda_linux.h fs: cleanup slight list_entry abuse 2015-06-23 18:01:59 -04:00
dir.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
file.c make new_sync_{read,write}() static 2015-04-11 22:29:40 -04:00
inode.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
Kconfig
Makefile fs: change to new flag variable 2011-03-17 14:02:57 +01:00
pioctl.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
psdev.c fs/coda: use linux/uaccess.h 2014-08-08 15:57:20 -07:00
symlink.c take coda-private headers out of include/linux 2011-01-12 20:02:48 -05:00
sysctl.c coda: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
upcall.c fs/coda: fix readlink buffer overflow 2015-09-10 13:29:01 -07:00