From: Rosen Penev Date: Mon, 11 May 2026 23:03:51 +0000 (-0700) Subject: ASoC: sigmadsp: Use flexible array for control cache X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0014849e9af1e08aaaf2b7bc26b1918d8275f24;p=thirdparty%2Fkernel%2Flinux.git ASoC: sigmadsp: Use flexible array for control cache Allocate SigmaDSP controls with kzalloc_flex() for the trailing cache data instead of open-coding the size calculation. Annotate the cache array with its existing byte count so the allocation helper can initialize the counter. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev Link: https://patch.msgid.link/20260511230351.28868-1-rosenp@gmail.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/sigmadsp.c b/sound/soc/codecs/sigmadsp.c index 3343dbb63d2b7..2e08fde3989c2 100644 --- a/sound/soc/codecs/sigmadsp.c +++ b/sound/soc/codecs/sigmadsp.c @@ -35,7 +35,7 @@ struct sigmadsp_control { struct snd_kcontrol *kcontrol; bool is_readback; bool cached; - uint8_t cache[]; + u8 cache[] __counted_by(num_bytes); }; struct sigmadsp_data { @@ -223,7 +223,7 @@ static int sigma_fw_load_control(struct sigmadsp *sigmadsp, return -EINVAL; num_bytes = le16_to_cpu(ctrl_chunk->num_bytes); - ctrl = kzalloc(sizeof(*ctrl) + num_bytes, GFP_KERNEL); + ctrl = kzalloc_flex(*ctrl, cache, num_bytes); if (!ctrl) return -ENOMEM;