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. CC: stable@vger.kernel.org Reported-by: Chris Evans <cevans@google.com> Signed-off-by: Jan Kara <jack@suse.cz> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
compress.c | ||
dir.c | ||
export.c | ||
inode.c | ||
isofs.h | ||
joliet.c | ||
namei.c | ||
rock.c | ||
rock.h | ||
util.c | ||
zisofs.h |