Patch "ASoC: dapm: fix bounds checker error in dapm_widget_list_create" has been added to the 6.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: dapm: fix bounds checker error in dapm_widget_list_create

to the 6.11-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-dapm-fix-bounds-checker-error-in-dapm_widget_li.patch
and it can be found in the queue-6.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 81fe2c8b24e8cd2b92529b2f23556cca6374cca9
Author: Aleksei Vetrov <vvvvvv@xxxxxxxxxx>
Date:   Mon Oct 28 22:50:30 2024 +0000

    ASoC: dapm: fix bounds checker error in dapm_widget_list_create
    
    [ Upstream commit 2ef9439f7a19fd3d43b288d38b1c6e55b668a4fe ]
    
    The widgets array in the snd_soc_dapm_widget_list has a __counted_by
    attribute attached to it, which points to the num_widgets variable. This
    attribute is used in bounds checking, and if it is not set before the
    array is filled, then the bounds sanitizer will issue a warning or a
    kernel panic if CONFIG_UBSAN_TRAP is set.
    
    This patch sets the size of the widgets list calculated with
    list_for_each as the initial value for num_widgets as it is used for
    allocating memory for the array. It is updated with the actual number of
    added elements after the array is filled.
    
    Signed-off-by: Aleksei Vetrov <vvvvvv@xxxxxxxxxx>
    Fixes: 80e698e2df5b ("ASoC: soc-dapm: Annotate struct snd_soc_dapm_widget_list with __counted_by")
    Link: https://patch.msgid.link/20241028-soc-dapm-bounds-checker-fix-v1-1-262b0394e89e@xxxxxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index e39df5d10b07d..1647b24ca34d7 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1147,6 +1147,8 @@ static int dapm_widget_list_create(struct snd_soc_dapm_widget_list **list,
 	if (*list == NULL)
 		return -ENOMEM;
 
+	(*list)->num_widgets = size;
+
 	list_for_each_entry(w, widgets, work_list)
 		(*list)->widgets[i++] = w;
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux