mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 18:21:49 +00:00
udf: Don't BUG on missing metadata partition descriptor
Currently, if a metadata partition map is missing its partition descriptor, then udf_get_pblock_meta25() will BUG() out the first time it is called. This is rather drastic for a corrupted filesystem, so just treat this case as an invalid mapping instead. Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
2600a46ee0
commit
585d70006f
@ -317,8 +317,9 @@ uint32_t udf_get_pblock_meta25(struct super_block *sb, uint32_t block,
|
|||||||
mdata = &map->s_type_specific.s_metadata;
|
mdata = &map->s_type_specific.s_metadata;
|
||||||
inode = mdata->s_metadata_fe ? : mdata->s_mirror_fe;
|
inode = mdata->s_metadata_fe ? : mdata->s_mirror_fe;
|
||||||
|
|
||||||
/* We shouldn't mount such media... */
|
if (!inode)
|
||||||
BUG_ON(!inode);
|
return 0xFFFFFFFF;
|
||||||
|
|
||||||
retblk = udf_try_read_meta(inode, block, partition, offset);
|
retblk = udf_try_read_meta(inode, block, partition, offset);
|
||||||
if (retblk == 0xFFFFFFFF && mdata->s_metadata_fe) {
|
if (retblk == 0xFFFFFFFF && mdata->s_metadata_fe) {
|
||||||
udf_warn(sb, "error reading from METADATA, trying to read from MIRROR\n");
|
udf_warn(sb, "error reading from METADATA, trying to read from MIRROR\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user