linux/fs/isofs
Jan Kara 3ca762283e isofs: Fix unbounded recursion when processing relocated directories
commit 410dd3cf4c upstream.

We did not check relocated directory in any way when processing Rock
Ridge 'CL' tag. Thus a corrupted isofs image can possibly have a CL
entry pointing to another CL entry leading to possibly unbounded
recursion in kernel code and thus stack overflow or deadlocks (if there
is a loop created from CL entries).

Fix the problem by not allowing CL entry to point to a directory entry
with CL entry (such use makes no good sense anyway) and by checking
whether CL entry doesn't point to itself.

Reported-by: Chris Evans <cevans@google.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-05 16:34:12 -07:00
..
Kconfig fs/Kconfig: move iso9660, udf out 2009-01-22 13:15:55 +03:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compress.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
dir.c [readdir] convert isofs 2013-06-29 12:56:47 +04:00
export.c fs: encode_fh: return FILEID_INVALID if invalid fid_type 2013-02-26 02:46:10 -05:00
inode.c isofs: Fix unbounded recursion when processing relocated directories 2014-09-05 16:34:12 -07:00
isofs.h isofs: Fix unbounded recursion when processing relocated directories 2014-09-05 16:34:12 -07:00
joliet.c NLS: update handling of Unicode 2009-06-15 21:44:43 -07:00
namei.c Don't pass inode to ->d_hash() and ->d_compare() 2013-06-29 12:57:36 +04:00
rock.c isofs: Fix unbounded recursion when processing relocated directories 2014-09-05 16:34:12 -07:00
rock.h [PATCH] rock: rename union members 2005-06-21 19:07:38 -07:00
util.c [PATCH] isofs includes sanitized 2005-04-25 18:32:12 -07:00
zisofs.h [PATCH] mark address_space_operations const 2006-06-28 14:59:04 -07:00