linux/fs/sysv
Al Viro 9d02cebddc fix sysvfs symlinks
commit 0ebf7f10d6 upstream.

The thing got broken back in 2002 - sysvfs does *not* have inline
symlinks; even short ones have bodies stored in the first block
of file.  sysv_symlink() handles that correctly; unfortunately,
attempting to look an existing symlink up will end up confusing
them for inline symlinks, and interpret the block number containing
the body as the body itself.

Nobody has noticed until now, which says something about the level
of testing sysvfs gets ;-/

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-12-18 16:06:32 +00:00
..
balloc.c sysv: drop lock/unlock super 2012-10-09 23:33:39 -04:00
dir.c [readdir] simple local unixlike: switch to ->iterate() 2013-06-29 12:46:47 +04:00
file.c write_iter variants of {__,}generic_file_aio_write() 2014-05-06 17:38:00 -04:00
ialloc.c sysv: drop lock/unlock super 2012-10-09 23:33:39 -04:00
inode.c fix sysvfs symlinks 2015-12-18 16:06:32 +00:00
itree.c truncate: drop 'oldsize' truncate_pagecache() parameter 2013-09-12 15:38:02 -07:00
Kconfig fs/Kconfig: move sysv out 2009-01-22 13:15:59 +03:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
namei.c Don't pass inode to ->d_hash() and ->d_compare() 2013-06-29 12:57:36 +04:00
super.c sysv: Add forgotten superblock lock init for v7 fs 2013-09-29 22:02:02 -04:00
symlink.c [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
sysv.h sysv: drop lock/unlock super 2012-10-09 23:33:39 -04:00