[PATCH] ASoC: sigmadsp: Use flexible array for control cache
From: Rosen Penev
Date: Mon May 11 2026 - 19:04:20 EST
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 <rosenp@xxxxxxxxx>
---
sound/soc/codecs/sigmadsp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/sigmadsp.c b/sound/soc/codecs/sigmadsp.c
index 3343dbb63d2b..2e08fde3989c 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;
--
2.54.0