--- x/fs/udf/super.c +++ y/fs/udf/super.c @@ -2337,6 +2337,10 @@ static int udf_sync_fs(struct super_bloc struct logicalVolIntegrityDesc *lvid; lvid = (struct logicalVolIntegrityDesc *)bh->b_data; + if (le16_to_cpu(lvid->descTag.descCRCLength) + sizeof(struct tag) > + sb->s_blocksize) + lvid->descTag.descCRCLength = cpu_to_le16(sb->s_blocksize - + sizeof(struct tag)); udf_finalize_lvid(lvid); /*