Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9b0d9ba authored by Dulshani Gunawardhana's avatar Dulshani Gunawardhana Committed by Chris Mason
Browse files

btrfs: Replace kmalloc with kmalloc_array



Replace kmalloc(size * nr, ) with kmalloc_array(nr, size), thus making
it easier to check is that the calculation doesn't wrap or return a smaller allocation

Signed-off-by: default avatarDulshani Gunawardhana <dulshani.gunawardhana89@gmail.com>
Reviewed-by: default avatarZach Brown <zab@redhat.com>
Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
parent e248e04e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -770,13 +770,13 @@ static int btrfs_batch_insert_items(struct btrfs_root *root,
	 */
	btrfs_set_path_blocking(path);

	keys = kmalloc(sizeof(struct btrfs_key) * nitems, GFP_NOFS);
	keys = kmalloc_array(nitems, sizeof(struct btrfs_key), GFP_NOFS);
	if (!keys) {
		ret = -ENOMEM;
		goto out;
	}

	data_size = kmalloc(sizeof(u32) * nitems, GFP_NOFS);
	data_size = kmalloc_array(nitems, sizeof(u32), GFP_NOFS);
	if (!data_size) {
		ret = -ENOMEM;
		goto error;
+1 −1
Original line number Diff line number Diff line
@@ -1198,7 +1198,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
		ra = &file->f_ra;
	}

	pages = kmalloc(sizeof(struct page *) * max_cluster,
	pages = kmalloc_array(max_cluster, sizeof(struct page *),
			GFP_NOFS);
	if (!pages) {
		ret = -ENOMEM;
+1 −1
Original line number Diff line number Diff line
@@ -1470,7 +1470,7 @@ static int btrfs_calc_avail_data_space(struct btrfs_root *root, u64 *free_bytes)
	nr_devices = fs_info->fs_devices->open_devices;
	BUG_ON(!nr_devices);

	devices_info = kmalloc(sizeof(*devices_info) * nr_devices,
	devices_info = kmalloc_array(nr_devices, sizeof(*devices_info),
			       GFP_NOFS);
	if (!devices_info)
		return -ENOMEM;
+1 −1
Original line number Diff line number Diff line
@@ -4901,7 +4901,7 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info, int rw,
			num_stripes = map->num_stripes;
			max_errors = nr_parity_stripes(map);

			raid_map = kmalloc(sizeof(u64) * num_stripes,
			raid_map = kmalloc_array(num_stripes, sizeof(u64),
					   GFP_NOFS);
			if (!raid_map) {
				ret = -ENOMEM;