aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/st_fdma.c
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavo@embeddedor.com>2019-01-04 12:43:22 -0600
committerVinod Koul <vkoul@kernel.org>2019-01-07 18:05:22 +0530
commit55f53b9c1746bba0e1b3a8d82ff3abe7ad3b96ce (patch)
tree2055b0e27f4b86659caac4b4a579114d62f1b096 /drivers/dma/st_fdma.c
parentdmaengine: dma-jz4780: Use struct_size() in devm_kzalloc() (diff)
downloadlinux-dev-55f53b9c1746bba0e1b3a8d82ff3abe7ad3b96ce.tar.xz
linux-dev-55f53b9c1746bba0e1b3a8d82ff3abe7ad3b96ce.zip
dmaengine: st_fdma: 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> Acked-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/st_fdma.c')
-rw-r--r--drivers/dma/st_fdma.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/dma/st_fdma.c b/drivers/dma/st_fdma.c
index 954f7cf62bb1..bc7a1de3f29b 100644
--- a/drivers/dma/st_fdma.c
+++ b/drivers/dma/st_fdma.c
@@ -243,8 +243,7 @@ static struct st_fdma_desc *st_fdma_alloc_desc(struct st_fdma_chan *fchan,
struct st_fdma_desc *fdesc;
int i;
- fdesc = kzalloc(sizeof(*fdesc) +
- sizeof(struct st_fdma_sw_node) * sg_len, GFP_NOWAIT);
+ fdesc = kzalloc(struct_size(fdesc, node, sg_len), GFP_NOWAIT);
if (!fdesc)
return NULL;