Commit 9f2378d9 authored by Kees Cook's avatar Kees Cook Committed by Greg Kroah-Hartman
Browse files

drivers/staging/gasket: Use 2-factor allocator calls



As already done treewide, switch from open-coded multiplication to using
2-factor allocator helpers.

Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7383f87d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1697,8 +1697,8 @@ static int gasket_mmap(struct file *filp, struct vm_area_struct *vma)
			return -EPERM;
		}
		num_map_regions = bar_desc->num_mappable_regions;
		map_regions = kzalloc(
			num_map_regions * sizeof(*bar_desc->mappable_regions),
		map_regions = kcalloc(num_map_regions,
				      sizeof(*bar_desc->mappable_regions),
				      GFP_KERNEL);
		if (map_regions) {
			memcpy(map_regions, bar_desc->mappable_regions,
+9 −6
Original line number Diff line number Diff line
@@ -136,23 +136,26 @@ int gasket_interrupt_init(
	interrupt_data->wire_interrupt_offsets = wire_int_offsets;

	/* Allocate all dynamic structures. */
	interrupt_data->msix_entries = kzalloc(
		sizeof(struct msix_entry) * num_interrupts, GFP_KERNEL);
	interrupt_data->msix_entries = kcalloc(num_interrupts,
					       sizeof(struct msix_entry),
					       GFP_KERNEL);
	if (!interrupt_data->msix_entries) {
		kfree(interrupt_data);
		return -ENOMEM;
	}

	interrupt_data->eventfd_ctxs = kzalloc(
		sizeof(struct eventfd_ctx *) * num_interrupts, GFP_KERNEL);
	interrupt_data->eventfd_ctxs = kcalloc(num_interrupts,
					       sizeof(struct eventfd_ctx *),
					       GFP_KERNEL);
	if (!interrupt_data->eventfd_ctxs) {
		kfree(interrupt_data->msix_entries);
		kfree(interrupt_data);
		return -ENOMEM;
	}

	interrupt_data->interrupt_counts = kzalloc(
		sizeof(ulong) * num_interrupts, GFP_KERNEL);
	interrupt_data->interrupt_counts = kcalloc(num_interrupts,
						   sizeof(ulong),
						   GFP_KERNEL);
	if (!interrupt_data->interrupt_counts) {
		kfree(interrupt_data->eventfd_ctxs);
		kfree(interrupt_data->msix_entries);
+3 −3
Original line number Diff line number Diff line
@@ -1674,8 +1674,8 @@ int gasket_alloc_coherent_memory(struct gasket_dev *gasket_dev, u64 size,
	gasket_dev->page_table[index]->num_coherent_pages = num_pages;

	/* allocate the physical memory block */
	gasket_dev->page_table[index]->coherent_pages = kzalloc(
		num_pages * sizeof(struct gasket_coherent_page_entry),
	gasket_dev->page_table[index]->coherent_pages =
		kcalloc(num_pages, sizeof(struct gasket_coherent_page_entry),
			GFP_KERNEL);
	if (!gasket_dev->page_table[index]->coherent_pages)
		goto nomem;
+6 −6
Original line number Diff line number Diff line
@@ -137,8 +137,8 @@ static void put_mapping(struct gasket_sysfs_mapping *mapping)
		device = mapping->device;
		legacy_device = mapping->legacy_device;
		num_files_to_remove = mapping->attribute_count;
		files_to_remove = kzalloc(
			num_files_to_remove * sizeof(*files_to_remove),
		files_to_remove = kcalloc(num_files_to_remove,
					  sizeof(*files_to_remove),
					  GFP_KERNEL);
		for (i = 0; i < num_files_to_remove; i++)
			files_to_remove[i] = mapping->attributes[i].attr;
@@ -238,8 +238,8 @@ int gasket_sysfs_create_mapping(
	kref_init(&mapping->refcount);
	mapping->device = device;
	mapping->gasket_dev = gasket_dev;
	mapping->attributes = kzalloc(
		GASKET_SYSFS_MAX_NODES * sizeof(*mapping->attributes),
	mapping->attributes = kcalloc(GASKET_SYSFS_MAX_NODES,
				      sizeof(*mapping->attributes),
				      GFP_KERNEL);
	mapping->attribute_count = 0;
	if (!mapping->attributes) {