s390/hypfs: Use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct foo { int stuff; void *entry[]; }; instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL); Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper: instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL); This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
7e0d92f002
commit
c6ac875446
|
@ -54,8 +54,7 @@ static void *diag0c_store(unsigned int *count)
|
|||
if (!cpu_vec)
|
||||
goto fail_put_online_cpus;
|
||||
/* Note: Diag 0c needs 8 byte alignment and real storage */
|
||||
diag0c_data = kzalloc(sizeof(struct hypfs_diag0c_hdr) +
|
||||
cpu_count * sizeof(struct hypfs_diag0c_entry),
|
||||
diag0c_data = kzalloc(struct_size(diag0c_data, entry, cpu_count),
|
||||
GFP_KERNEL | GFP_DMA);
|
||||
if (!diag0c_data)
|
||||
goto fail_kfree_cpu_vec;
|
||||
|
|
Loading…
Reference in New Issue