Commit 7f174ae4 authored by Zhang Yi's avatar Zhang Yi Committed by Richard Weinberger
Browse files

ubi: correct the calculation of fastmap size



Now that the calculation of fastmap size in ubi_calc_fm_size() is
incorrect since it miss each user volume's ubi_fm_eba structure and the
Internal UBI volume info. Let's correct the calculation.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarZhang Yi <yi.zhang@huawei.com>
Reviewed-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 788cd161
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -85,9 +85,10 @@ size_t ubi_calc_fm_size(struct ubi_device *ubi)
		sizeof(struct ubi_fm_scan_pool) +
		sizeof(struct ubi_fm_scan_pool) +
		(ubi->peb_count * sizeof(struct ubi_fm_ec)) +
		(sizeof(struct ubi_fm_eba) +
		(ubi->peb_count * sizeof(__be32))) +
		sizeof(struct ubi_fm_volhdr) * UBI_MAX_VOLUMES;
		((sizeof(struct ubi_fm_eba) +
		  sizeof(struct ubi_fm_volhdr)) *
		 (UBI_MAX_VOLUMES + UBI_INT_VOL_COUNT)) +
		(ubi->peb_count * sizeof(__be32));
	return roundup(size, ubi->leb_size);
}