udf: Check LVID earlier
authorJan Kara <jack@suse.cz>
Mon, 3 May 2021 09:39:03 +0000 (11:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 07:50:25 +0000 (09:50 +0200)
commit4cf1551af31d1c55d17485de6c973f1479a6b166
treee1cbd6f0e6e1eeac7a3e8adc27ffbe2a80a2a5c7
parent3d12ccecfa316730abaf0a930711ea5cce4fe87f
udf: Check LVID earlier

[ Upstream commit 781d2a9a2fc7d0be53a072794dc03ef6de770f3d ]

We were checking validity of LVID entries only when getting
implementation use information from LVID in udf_sb_lvidiu(). However if
the LVID is suitably corrupted, it can cause problems also to code such
as udf_count_free() which doesn't use udf_sb_lvidiu(). So check validity
of LVID already when loading it from the disk and just disable LVID
altogether when it is not valid.

Reported-by: syzbot+7fbfe5fed73ebb675748@syzkaller.appspotmail.com
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/udf/super.c