Commit 5a72ff8
ASoC: SOF: ipc4-topology: Harden loops for looking up ALH copiers
Other, non DAI copier widgets could have the same stream name (sname) as
the ALH copier and in that case the copier->data is NULL, no alh_data is
attached, which could lead to NULL pointer dereference.
We could check for this NULL pointer in sof_ipc4_prepare_copier_module()
and avoid the crash, but a similar loop in sof_ipc4_widget_setup_comp_dai()
will miscalculate the ALH device count, causing broken audio.
The correct fix is to harden the matching logic by making sure that the
1. widget is a DAI widget - so dai = w->private is valid
2. the dai (and thus the copier) is ALH copier
Fixes: 0e357b5 ("ASoC: SOF: ipc4-topology: add SoundWire/ALH aggregation support")
Reported-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Link: thesofproject/sof#9652
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>1 parent a1f6c35 commit 5a72ff8
1 file changed
+10
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
766 | 766 | | |
767 | 767 | | |
768 | 768 | | |
769 | | - | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
770 | 772 | | |
771 | 773 | | |
772 | 774 | | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
773 | 779 | | |
774 | 780 | | |
775 | 781 | | |
| |||
2062 | 2068 | | |
2063 | 2069 | | |
2064 | 2070 | | |
2065 | | - | |
| 2071 | + | |
2066 | 2072 | | |
2067 | 2073 | | |
2068 | 2074 | | |
2069 | 2075 | | |
| 2076 | + | |
| 2077 | + | |
2070 | 2078 | | |
2071 | 2079 | | |
2072 | 2080 | | |
| |||
0 commit comments