import UBI alsa-lib-1.2.15.3-2.el10

This commit is contained in:
AlmaLinux RelEng Bot 2026-05-19 19:07:36 -04:00
parent ce3b8afeed
commit ec9533fb3f
5 changed files with 155 additions and 2411 deletions

4
.gitignore vendored
View File

@ -1,3 +1,3 @@
alsa-lib-1.2.14.tar.bz2
alsa-lib-1.2.15.3.tar.bz2
alsa-topology-conf-1.2.5.tar.bz2
alsa-ucm-conf-1.2.14.tar.bz2
alsa-ucm-conf-1.2.15.3.tar.bz2

View File

@ -1,38 +1,142 @@
From 07ec2ad34c42dba8656d3f543164f360f481c52e Mon Sep 17 00:00:00 2001
From: Daniel Dadap <ddadap@nvidia.com>
Date: Thu, 15 May 2025 08:32:35 -0500
Subject: [PATCH] conf: aliases: add hda-acpi -> HDA-Intel alias
From 7887fbc6f0f660072d1405231703985b72d40cf1 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 26 Jan 2026 15:08:54 +0100
Subject: [PATCH 1/4] ucm: libconfig parser - fix pathname for substituted file
The new snd_hda_acpi driver in Linux exposes the existing Azalia
interface to non-PCI devices advertised over ACPI. Add an alias
to the existing HDA-Intel configuration file so that devices using
this driver can be discovered properly.
The path name substituted file contents and normal file contents
should be handled similary. Use correct function determining
the right base directory name.
Signed-off-by: Daniel Dadap <ddadap@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fixes: 8f5779eb ("ucm: add LibraryConfig support")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/conf/cards/aliases.conf | 1 +
1 file changed, 1 insertion(+)
src/ucm/parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
index a54824ae..e2d59aa7 100644
--- a/src/conf/cards/aliases.conf
+++ b/src/conf/cards/aliases.conf
@@ -57,6 +57,7 @@ CMI8786 cards.CMI8788
CMI8787 cards.CMI8788
pistachio cards.pistachio-card
VC4-HDMI cards.vc4-hdmi
+hda-acpi cards.HDA-Intel
<confdir:ctl/default.conf>
<confdir:pcm/default.conf>
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
index 60861213..baa19144 100644
--- a/src/ucm/parser.c
+++ b/src/ucm/parser.c
@@ -804,7 +804,7 @@ static int parse_libconfig1(snd_use_case_mgr_t *uc_mgr, snd_config_t *cfg)
if (file) {
if (substfile) {
snd_config_t *cfg;
- err = uc_mgr_config_load(uc_mgr->conf_format, file, &cfg);
+ err = uc_mgr_config_load_file(uc_mgr, file, &cfg);
if (err < 0)
return err;
err = uc_mgr_substitute_tree(uc_mgr, cfg);
--
2.49.0
2.52.0
From bc332f4211af98054e7c64aabbe59c7a16ac4e36 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Thu, 29 Jan 2026 15:33:45 +0100
Subject: [PATCH 2/4] control: ctlparse - make numid parsing more robust
Also correct the last amixer stderr printf to snd_error().
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/control/ctlparse.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/src/control/ctlparse.c b/src/control/ctlparse.c
index b23234d7..3bd86435 100644
--- a/src/control/ctlparse.c
+++ b/src/control/ctlparse.c
@@ -156,8 +156,10 @@ char *snd_ctl_ascii_elem_id_get(snd_ctl_elem_id_t *id)
int __snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str,
const char **ret_ptr)
{
- int c, size, numid;
+ char buf[64];
+ int c, size;
int err = -EINVAL;
+ long l;
char *ptr;
while (isspace(*str))
@@ -168,12 +170,23 @@ int __snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str,
while (*str) {
if (!strncasecmp(str, "numid=", 6)) {
str += 6;
- numid = atoi(str);
- if (numid <= 0) {
- fprintf(stderr, "amixer: Invalid numid %d\n", numid);
+ ptr = buf;
+ size = 0;
+ while (*str && *str != ',') {
+ if (size < (int)sizeof(buf)) {
+ *ptr++ = *str;
+ size++;
+ }
+ str++;
+ }
+ *ptr = '\0';
+ if (safe_strtol(buf, &l) < 0)
+ l = -1;
+ if (l <= 0 || l >= INT32_MAX) {
+ snd_error(CONTROL, "Invalid numid %ld (%s)", l, buf);
goto out;
}
- snd_ctl_elem_id_set_numid(dst, atoi(str));
+ snd_ctl_elem_id_set_numid(dst, (int)l);
while (isdigit(*str))
str++;
} else if (!strncasecmp(str, "iface=", 6)) {
@@ -200,7 +213,6 @@ int __snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str,
goto out;
}
} else if (!strncasecmp(str, "name=", 5)) {
- char buf[64];
str += 5;
ptr = buf;
size = 0;
--
2.52.0
From 5f7fe33002d2d98d84f72e381ec2cccc0d5d3d40 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Thu, 29 Jan 2026 16:51:09 +0100
Subject: [PATCH 3/4] topology: decoder - add boundary check for channel mixer
count
Malicious binary topology file may cause heap corruption.
CVE: CVE-2026-25068
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/topology/ctl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/topology/ctl.c b/src/topology/ctl.c
index a0c24518..322c461c 100644
--- a/src/topology/ctl.c
+++ b/src/topology/ctl.c
@@ -1250,6 +1250,11 @@ int tplg_decode_control_mixer1(snd_tplg_t *tplg,
if (mc->num_channels > 0) {
map = tplg_calloc(heap, sizeof(*map));
map->num_channels = mc->num_channels;
+ if (map->num_channels > SND_TPLG_MAX_CHAN ||
+ map->num_channels > SND_SOC_TPLG_MAX_CHAN) {
+ snd_error(TOPOLOGY, "mixer: unexpected channel count %d", map->num_channels);
+ return -EINVAL;
+ }
for (i = 0; i < map->num_channels; i++) {
map->channel[i].reg = mc->channel[i].reg;
map->channel[i].shift = mc->channel[i].shift;
--
2.52.0
From 166407dae4c91583aff43624ce1eafb8695a4482 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Tue, 3 Feb 2026 17:46:02 +0100
Subject: [PATCH] control: remap - fix numid lookup issue
Subject: [PATCH 4/4] control: remap - fix numid lookup issue
The 'amixer controls' and 'amixer cget numid=' combo was not working
correctly when the remapping was active. This assert was trigerred:

View File

@ -2,10 +2,13 @@
#define prever_dot .rc3
#define postver a
%define version_alsa_lib 1.2.14
%define version_alsa_ucm 1.2.14
%define version_alsa_lib 1.2.15.3
%define version_alsa_ucm 1.2.15.3
%define version_alsa_tplg 1.2.5
%global lib_patch 1
%global ucm_patch 0
Summary: The Advanced Linux Sound Architecture (ALSA) library
Name: alsa-lib
Version: %{version_alsa_lib}
@ -13,14 +16,18 @@ Release: 2%{?prever_dot}%{?dist}
License: LGPL-2.1-or-later
URL: http://www.alsa-project.org/
Source: ftp://ftp.alsa-project.org/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
Source1: ftp://ftp.alsa-project.org/pub/lib/alsa-ucm-conf-%{version_alsa_ucm}.tar.bz2
Source2: ftp://ftp.alsa-project.org/pub/lib/alsa-topology-conf-%{version_alsa_tplg}.tar.bz2
Source: https://www.alsa-project.org/files/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
Source1: https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-%{version_alsa_ucm}.tar.bz2
Source2: https://www.alsa-project.org/files/pub/lib/alsa-topology-conf-%{version_alsa_tplg}.tar.bz2
Source10: asound.conf
Source11: modprobe-dist-alsa.conf
Source12: modprobe-dist-oss.conf
%if %{ucm_patch}
Source40: alsa-ucm-conf.patch
%endif
%if %{lib_patch}
Patch0: alsa-git.patch
%endif
Patch1: alsa-lib-1.2.3.1-config.patch
Patch2: alsa-lib-1.2.10-glibc-open.patch
@ -70,7 +77,9 @@ contains alsa-lib configuration of SoC topology
%prep
%setup -q -n %{name}-%{version}%{?prever}%{?postver}
%if %{lib_patch}
%patch -P 0 -p1 -b .alsa-git
%endif
%patch -P 1 -p1 -b .config
%patch -P 2 -p1 -b .glibc-open
@ -116,7 +125,9 @@ mkdir -p %{buildroot}/%{_datadir}/alsa/ucm2
# Unpack UCMs
tar xvjf %{SOURCE1} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/ucm" "*/ucm2"
%if %{ucm_patch}
patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE40}
%endif
# Create topology directory
mkdir -p %{buildroot}/%{_datadir}/alsa/topology
@ -167,8 +178,11 @@ rm %{buildroot}/%{_includedir}/asoundlib.h
%{_datadir}/alsa/topology
%changelog
* Tue Feb 3 2026 Jaroslav Kysela <perex@perex.cz> - 1.2.14-2
- add control API remap fix
* Tue Feb 10 2026 Jaroslav Kysela <perex@perex.cz> - 1.2.15.3-2
- fix control API remap issue
* Thu Jan 8 2026 Jaroslav Kysela <perex@perex.cz> - 1.2.15.3-1
- update to alsa-lib 1.2.15.3 and alsa-ucm-conf 1.2.15.3
* Thu Jun 26 2025 Jaroslav Kysela <perex@perex.cz> - 1.2.14-1
- update to alsa-lib 1.2.14 and alsa-ucm-conf 1.2.14

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
SHA512 (alsa-lib-1.2.14.tar.bz2) = 2716cc3a2299da4a1a170d734af082d78dc452b253179d0f1a9ec190140734aecf002b6924eec4ff2699ce88ce1ae5c56821c267f36384910984db726d1f9626
SHA512 (alsa-lib-1.2.15.3.tar.bz2) = 7fc0fa8a5ae02d3404d2c262c6a14fcbb8b08e25993eac86b9e89b8419ed4d293b422da77b3eb7a1930f26c316b638e5aa7bdba78b0ada9908b0362d132a0cc0
SHA512 (alsa-topology-conf-1.2.5.tar.bz2) = 2eb4d8baf2dcbf0b631dd11dbf15bffc51694d9cc6931619e51787f3ba58d1a091d266e6721a3b737c040ec74a28270b93f39fb97f30a3227cf340dd646e5d51
SHA512 (alsa-ucm-conf-1.2.14.tar.bz2) = a224e890919306bdcd606dfb873b089950c9fa89f24c02947692ee8ab1a05c419f2a8dc174440d17c8a9575cab293806630f2cb43d74677f7ef0d956b7883dc5
SHA512 (alsa-ucm-conf-1.2.15.3.tar.bz2) = 079aeb45bc3f98448f6e48a1267db5d3f46a51d7060eb8275d0a084574e23eec34f07108610538e898c397fa24941ccf1bb7722c6b4bb0fa9c48904addc03973