Commit 5e9df50f authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Zhihao Cheng
Browse files

ubi: fastmap: Use the bitmap API to allocate bitmaps

mainline inclusion
from mainline-v6.1-rc1
commit e7f35da2
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9195H
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e7f35da21f6f8c6a8c7d262dd4e4bd32e3083f79



-------------------------------------------------

Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
parent 162d8dcc
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@ static inline unsigned long *init_seen(struct ubi_device *ubi)
	if (!ubi_dbg_chk_fastmap(ubi))
		return NULL;

	ret = kcalloc(BITS_TO_LONGS(ubi->peb_count), sizeof(unsigned long),
		      GFP_KERNEL);
	ret = bitmap_zalloc(ubi->peb_count, GFP_KERNEL);
	if (!ret)
		return ERR_PTR(-ENOMEM);

@@ -34,7 +33,7 @@ static inline unsigned long *init_seen(struct ubi_device *ubi)
 */
static inline void free_seen(unsigned long *seen)
{
	kfree(seen);
	bitmap_free(seen);
}

/**
@@ -1097,8 +1096,7 @@ int ubi_fastmap_init_checkmap(struct ubi_volume *vol, int leb_count)
	if (!ubi->fast_attach)
		return 0;

	vol->checkmap = kcalloc(BITS_TO_LONGS(leb_count), sizeof(unsigned long),
				GFP_KERNEL);
	vol->checkmap = bitmap_zalloc(leb_count, GFP_KERNEL);
	if (!vol->checkmap)
		return -ENOMEM;

@@ -1107,7 +1105,7 @@ int ubi_fastmap_init_checkmap(struct ubi_volume *vol, int leb_count)

void ubi_fastmap_destroy_checkmap(struct ubi_volume *vol)
{
	kfree(vol->checkmap);
	bitmap_free(vol->checkmap);
}

/**