summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Runge2020-04-08 11:05:33 +0200
committerDavid Runge2020-04-08 11:05:33 +0200
commit9b0e928ed5db84f6b3613be7db234d42e1aac5b8 (patch)
tree6394125156a7c942163215abf8f0b88d1fc27e7c
parent014e95c2d5d897a3925709ea90ad48bcdc652b60 (diff)
downloadaur-9b0e928ed5db84f6b3613be7db234d42e1aac5b8.tar.gz
PKGBUILD: Adding patches for ALSA issues (FS#66159).
-rw-r--r--.SRCINFO6
-rw-r--r--0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch42
-rw-r--r--0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch42
-rw-r--r--PKGBUILD10
4 files changed, 96 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 98b3a1f0abda..fb02c4202e0b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linux-rt
pkgdesc = Linux RT
pkgver = 5.6.2.1
- pkgrel = 1
+ pkgrel = 2
url = https://wiki.linuxfoundation.org/realtime/start
arch = x86_64
license = GPL2
@@ -21,6 +21,8 @@ pkgbase = linux-rt
source = https://www.kernel.org/pub/linux/kernel/projects/rt/5.6/older/patch-5.6.2-rt1.patch.sign
source = config
source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+ source = 0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch
+ source = 0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
validpgpkeys = 8218F88849AAC522E94CF470A5E9288C4FA415FA
@@ -33,6 +35,8 @@ pkgbase = linux-rt
sha256sums = SKIP
sha256sums = 4e9454546ee21cd973fa9ab9e711e9f32138ea21e6ba9f08afcd58f967c6b200
sha256sums = ad3275a696348703c57f05b9626e7fbab7243299da32e52044ff51666f810e85
+ sha256sums = d9032bb428c42e093f2686ae2830133c3600496f93574b3b41dc0ec69af6d5ad
+ sha256sums = bc53f7ec92126955e221698e634d2185909e83bc526f7ff9c7ad86da3fd8c8f4
pkgname = linux-rt
pkgdesc = The Linux RT kernel and modules
diff --git a/0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch b/0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch
new file mode 100644
index 000000000000..484fac704a3c
--- /dev/null
+++ b/0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch
@@ -0,0 +1,42 @@
+From 59b4a3ed754311917646a1032da4a42cdc2cfde6 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 7 Apr 2020 10:36:22 +0200
+Subject: [PATCH] ALSA: hda: Fix potential access overflow in beep helper
+
+The beep control helper function blindly stores the values in two
+stereo channels no matter whether the actual control is mono or
+stereo. This is practically harmless, but it annoys the recently
+introduced sanity check, resulting in an error when the checker is
+enabled.
+
+This patch corrects the behavior to store only on the defined array
+member.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207139
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ sound/pci/hda/hda_beep.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/sound/pci/hda/hda_beep.c b/sound/pci/hda/hda_beep.c
+index f5fd62ed4df5..841523f6b88d 100644
+--- a/sound/pci/hda/hda_beep.c
++++ b/sound/pci/hda/hda_beep.c
+@@ -290,8 +290,12 @@ int snd_hda_mixer_amp_switch_get_beep(struct snd_kcontrol *kcontrol,
+ {
+ struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
+ struct hda_beep *beep = codec->beep;
++ int chs = get_amp_channels(kcontrol);
++
+ if (beep && (!beep->enabled || !ctl_has_mute(kcontrol))) {
+- ucontrol->value.integer.value[0] =
++ if (chs & 1)
++ ucontrol->value.integer.value[0] = beep->enabled;
++ if (chs & 2)
+ ucontrol->value.integer.value[1] = beep->enabled;
+ return 0;
+ }
+--
+2.25.0
+
diff --git a/0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch b/0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch
new file mode 100644
index 000000000000..dcaf4245145e
--- /dev/null
+++ b/0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch
@@ -0,0 +1,42 @@
+From 8cd18c2bdaf1ddb117654fd1ba4befbf770bf2b5 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 7 Apr 2020 10:31:44 +0200
+Subject: [PATCH] ALSA: ice1724: Fix invalid access for enumerated ctl items
+
+The access to Analog Capture Source control value implemented in
+prodigy_hifi.c is wrong, as caught by the recently introduced sanity
+check; it should be accessing value.enumerated.item[] instead of
+value.integer.value[]. This patch corrects the wrong access pattern.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207139
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ sound/pci/ice1712/prodigy_hifi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sound/pci/ice1712/prodigy_hifi.c b/sound/pci/ice1712/prodigy_hifi.c
+index 91f83cef0e56..9aa12a67d370 100644
+--- a/sound/pci/ice1712/prodigy_hifi.c
++++ b/sound/pci/ice1712/prodigy_hifi.c
+@@ -536,7 +536,7 @@ static int wm_adc_mux_enum_get(struct snd_kcontrol *kcontrol,
+ struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
+
+ mutex_lock(&ice->gpio_mutex);
+- ucontrol->value.integer.value[0] = wm_get(ice, WM_ADC_MUX) & 0x1f;
++ ucontrol->value.enumerated.item[0] = wm_get(ice, WM_ADC_MUX) & 0x1f;
+ mutex_unlock(&ice->gpio_mutex);
+ return 0;
+ }
+@@ -550,7 +550,7 @@ static int wm_adc_mux_enum_put(struct snd_kcontrol *kcontrol,
+
+ mutex_lock(&ice->gpio_mutex);
+ oval = wm_get(ice, WM_ADC_MUX);
+- nval = (oval & 0xe0) | ucontrol->value.integer.value[0];
++ nval = (oval & 0xe0) | ucontrol->value.enumerated.item[0];
+ if (nval != oval) {
+ wm_put(ice, WM_ADC_MUX, nval);
+ change = 1;
+--
+2.25.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 14e59d66c6b5..6c1120a71fc6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ pkgbase=linux-rt
_pkgver=5.6.2
_rtpatchver=1
pkgver="${_pkgver}.${_rtpatchver}"
-pkgrel=1
+pkgrel=2
pkgdesc='Linux RT'
arch=('x86_64')
url="https://wiki.linuxfoundation.org/realtime/start"
@@ -20,7 +20,9 @@ source=(
"https://www.kernel.org/pub/linux/kernel/projects/rt/${_pkgver%.*}/older/patch-${_pkgver}-rt${_rtpatchver}.patch.xz"
"https://www.kernel.org/pub/linux/kernel/projects/rt/${_pkgver%.*}/older/patch-${_pkgver}-rt${_rtpatchver}.patch.sign"
config
- 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch)
+ 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+ 0001-ALSA-hda-Fix-potential-access-overflow-in-beep-helpe.patch
+ 0001-ALSA-ice1724-Fix-invalid-access-for-enumerated-ctl-i.patch)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -34,7 +36,9 @@ sha256sums=('2d4d91d8329c1ed3826c61463650dd4bfbb6ad39dcee6dba4f98a7e94a67b5b9'
'b2e9420f36ffce5edd87eb90b7deb857191dc7f18d275d5bd6f694b475a56e26'
'SKIP'
'4e9454546ee21cd973fa9ab9e711e9f32138ea21e6ba9f08afcd58f967c6b200'
- 'ad3275a696348703c57f05b9626e7fbab7243299da32e52044ff51666f810e85')
+ 'ad3275a696348703c57f05b9626e7fbab7243299da32e52044ff51666f810e85'
+ 'd9032bb428c42e093f2686ae2830133c3600496f93574b3b41dc0ec69af6d5ad'
+ 'bc53f7ec92126955e221698e634d2185909e83bc526f7ff9c7ad86da3fd8c8f4')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase