]> git.baikalelectronics.ru Git - kernel.git/commit
isofs: Fix infinite looping over CE entries
authorJan Kara <jack@suse.cz>
Mon, 15 Dec 2014 13:22:46 +0000 (14:22 +0100)
committerJan Kara <jack@suse.cz>
Mon, 15 Dec 2014 14:53:26 +0000 (15:53 +0100)
commitf7eeb30bb5b5f930aed05afacc1af6ce7f9a9ae8
tree5b24ced61a9bda1f5ae41196a39a96c88b19229b
parentee8c857f03ef3ef08b8e448f68a2c07eb4ef6f0b
isofs: Fix infinite looping over CE entries

Rock Ridge extensions define so called Continuation Entries (CE) which
define where is further space with Rock Ridge data. Corrupted isofs
image can contain arbitrarily long chain of these, including a one
containing loop and thus causing kernel to end in an infinite loop when
traversing these entries.

Limit the traversal to 32 entries which should be more than enough space
to store all the Rock Ridge data.

Reported-by: P J P <ppandit@redhat.com>
CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
fs/isofs/rock.c