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 <[email protected]>
---
 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


Reply via email to