On Thu, Feb 17, 2022 at 02:27:55PM +0100, Stephen Kitt wrote: > There is a regular need in the kernel to provide a way to declare having > a dynamically sized set of trailing elements in a structure. Kernel code > should always use "flexible array members"[1] for these cases. The older > style of one-element or zero-length arrays should no longer be used[2]. > > This helps with the ongoing efforts to globally enable -Warray-bounds > and get us closer to being able to tighten the FORTIFY_SOURCE routines > on memcpy(). > > [1] https://en.wikipedia.org/wiki/Flexible_array_member > [2] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays > > Link: https://github.com/KSPP/linux/issues/78 > Link: https://github.com/KSPP/linux/issues/180 > Suggested-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> > Signed-off-by: Stephen Kitt <steve@xxxxxxx> Reviewed-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> Thanks! -- Gustavo > --- > include/sound/sof/topology.h | 2 +- > sound/soc/sof/topology.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/sound/sof/topology.h b/include/sound/sof/topology.h > index d12736e14b69..adee6afd1490 100644 > --- a/include/sound/sof/topology.h > +++ b/include/sound/sof/topology.h > @@ -237,7 +237,7 @@ struct sof_ipc_comp_process { > /* reserved for future use */ > uint32_t reserved[7]; > > - uint8_t data[0]; > + uint8_t data[]; > } __packed; > > /* frees components, buffers and pipelines > diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c > index e72dcae5e7ee..1d119d1dd69d 100644 > --- a/sound/soc/sof/topology.c > +++ b/sound/soc/sof/topology.c > @@ -2164,7 +2164,7 @@ static int sof_process_load(struct snd_soc_component *scomp, int index, > */ > if (ipc_data_size) { > for (i = 0; i < widget->num_kcontrols; i++) { > - memcpy(&process->data + offset, > + memcpy(&process->data[offset], > wdata[i].pdata->data, > wdata[i].pdata->size); > offset += wdata[i].pdata->size; > > base-commit: f71077a4d84bbe8c7b91b7db7c4ef815755ac5e3 > -- > 2.27.0 >