linux/fs/udf
Jan Kara 7478bcf7d5 udf: Avoid infinite loop when processing indirect ICBs
commit c03aa9f6e1 upstream.

We did not implement any bound on number of indirect ICBs we follow when
loading inode. Thus corrupted medium could cause kernel to go into an
infinite loop, possibly causing a stack overflow.

Fix the possible stack overflow by removing recursion from
__udf_read_inode() and limit number of indirect ICBs we follow to avoid
infinite loops.

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Chuck Ebbert <cebbert.lkml@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-10-09 12:23:47 -07:00
..
balloc.c udf: Fix handling of i_blocks 2012-02-29 21:53:47 +01:00
dir.c [readdir] convert udf 2013-06-29 12:46:50 +04:00
directory.c udf: Neaten udf_debug uses 2011-10-31 23:43:58 +01:00
ecma_167.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
file.c udf: switch to ->write_iter() 2014-05-06 17:39:36 -04:00
ialloc.c udf: Fortify LVID loading 2013-09-24 11:23:33 +02:00
inode.c udf: Avoid infinite loop when processing indirect ICBs 2014-10-09 12:23:47 -07:00
Kconfig Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 2011-01-11 14:45:52 -08:00
lowlevel.c udf: Neaten udf_debug uses 2011-10-31 23:43:58 +01:00
Makefile switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
misc.c udf: Rename udf_error to udf_err 2011-10-10 19:29:01 +02:00
namei.c udf: Fix lockdep warning from udf_symlink() 2013-12-23 22:02:16 +01:00
osta_udf.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
partition.c udf: Cleanup metadata flags handling 2011-10-31 23:49:48 +01:00
super.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs 2014-04-07 17:59:17 -07:00
symlink.c udf: Treat symlink component of type 2 as / 2012-01-09 13:52:08 +01:00
truncate.c udf: Do not decrement i_blocks when freeing indirect extent block 2012-07-09 13:24:21 +02:00
udf_i.h udf: add extent cache support in case of file reading 2013-01-22 10:48:31 +01:00
udf_sb.h udf: Fortify LVID loading 2013-09-24 11:23:33 +02:00
udfdecl.h udf: add extent cache support in case of file reading 2013-01-22 10:48:31 +01:00
udfend.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
udftime.c udf: Convert printks to pr_<level> 2011-10-31 23:43:52 +01:00
unicode.c udf: Convert printks to pr_<level> 2011-10-31 23:43:52 +01:00