FAILED: Patch "ASoC: SOF: ipc4-control: Use the correct size for scontrol->ipc_control_data" failed to apply to 6.6-stable tree
Subsystems (4)
Sasha Levin
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Thanks,
Sasha
------------------ original commit in Linus's tree ------------------
From c1876fc33c5976837e4c73719c7582617efc6919 Mon Sep 17 00:00:00 2001
From: Peter Ujfalusi <[email protected]>
Date: Wed, 17 Dec 2025 16:39:40 +0200
Subject: [PATCH] ASoC: SOF: ipc4-control: Use the correct size for
scontrol->ipc_control_data
The size of the data behind scontrol->ipc_control_data is stored in scontrol->size, use this when copying data for backup/restore.
Fixes db38d86d0c54 ("ASoC: sof: Improve sof_ipc4_bytes_ext_put function")
Signed-off-by Peter Ujfalusi <[email protected]>
Reviewed-by Seppo Ingalsuo <[email protected]>
Reviewed-by Ranjani Sridharan <[email protected]>
Reviewed-by Bard Liao <[email protected]>
Reviewed-by Kai Vehmanen <[email protected]>
Signed-off-by Mark Brown <[email protected]>
--- sound/soc/sof/ipc4-control.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
sound/soc/sof/ipc4-control.c +3 -3
@@ -66,7 +66,7 @@ static int sof_ipc4_set_get_kcontrol_data(struct snd_sof_control *scontrol,* configuration */ memcpy (scontrol->ipc_control_data, scontrol->old_ipc_control_data, - scontrol->max_size); + scontrol->size);kfree (scontrol->old_ipc_control_data); scontrol->old_ipc_control_data =NULL ;/* Send the last known good configuration to firmware */
@@ -567,7 +567,7 @@ static int sof_ipc4_bytes_ext_put(struct snd_sof_control *scontrol,if (!scontrol->old_ipc_control_data) {/* Create a backup of the current, valid bytes control */ scontrol->old_ipc_control_data =kmemdup (scontrol->ipc_control_data, - scontrol->max_size,GFP_KERNEL ); + scontrol->size,GFP_KERNEL );if (!scontrol->old_ipc_control_data)return -ENOMEM ; }
@@ -575,7 +575,7 @@ static int sof_ipc4_bytes_ext_put(struct snd_sof_control *scontrol,/* Copy the whole binary data which includes the ABI header and the payload */ if (copy_from_user (data, tlvd->tlv, header.length)) {memcpy (scontrol->ipc_control_data, scontrol->old_ipc_control_data, - scontrol->max_size); + scontrol->size);kfree (scontrol->old_ipc_control_data); scontrol->old_ipc_control_data =NULL ;return -EFAULT ;
Signature · 1 line
2.51.0