Commit 24b1b5d8 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Leon Romanovsky
Browse files

IB/hfi1: Use struct_size()



Use struct_size() instead of hand-writing it, when allocating a structure
with a flex array.

This is less verbose, more robust and more informative.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/f4618a67d5ae0a30eb3f2b4558c8cc790feed79a.1690044376.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 0b5eed06
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -1893,9 +1893,7 @@ int pio_map_init(struct hfi1_devdata *dd, u8 port, u8 num_vls, u8 *vl_scontexts)
			vl_scontexts[i] = sc_per_vl + (extra > 0 ? 1 : 0);
	}
	/* build new map */
	newmap = kzalloc(sizeof(*newmap) +
			 roundup_pow_of_two(num_vls) *
			 sizeof(struct pio_map_elem *),
	newmap = kzalloc(struct_size(newmap, map, roundup_pow_of_two(num_vls)),
			 GFP_KERNEL);
	if (!newmap)
		goto bail;
@@ -1910,9 +1908,8 @@ int pio_map_init(struct hfi1_devdata *dd, u8 port, u8 num_vls, u8 *vl_scontexts)
			int sz = roundup_pow_of_two(vl_scontexts[i]);

			/* only allocate once */
			newmap->map[i] = kzalloc(sizeof(*newmap->map[i]) +
						 sz * sizeof(struct
							     send_context *),
			newmap->map[i] = kzalloc(struct_size(newmap->map[i],
							     ksc, sz),
						 GFP_KERNEL);
			if (!newmap->map[i])
				goto bail;