<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/sound/pci, branch linux-rolling-stable</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2026-07-18T14:55:21+00:00</updated>
<entry>
<title>ALSA: ice1712: check snd_ctl_new1() return value</title>
<updated>2026-07-18T14:55:21+00:00</updated>
<author>
<name>Zhao Dongdong</name>
<email>zhaodongdong@kylinos.cn</email>
</author>
<published>2026-05-27T12:09:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=38a7cc46370a57122fb29c4bfe48a851c0c64459'/>
<id>urn:sha1:38a7cc46370a57122fb29c4bfe48a851c0c64459</id>
<content type='text'>
commit 2b929b91b0f3bc6de8a844370049cd99ee8e31ff upstream.

snd_ctl_new1() can return NULL when memory allocation fails. The
ice1712 driver calls snd_ctl_new1() without checking the return value
before dereferencing the pointer in multiple places (ice1712.c,
ice1724.c, aureon.c), which can lead to NULL pointer dereferences.

Add NULL checks after snd_ctl_new1() calls and return -ENOMEM if any
fails.

Assisted-by: Opencode:DeepSeek-V4-Flash
Cc: stable@vger.kernel.org
Fixes: b9a4efd61b6b ("ALSA: ice1712,ice1724: fix the kcontrol-&gt;id initialization")
Signed-off-by: Zhao Dongdong &lt;zhaodongdong@kylinos.cn&gt;
Link: https://patch.msgid.link/tencent_42E5E2AB1B6A5101F7EE8C2117F1F687BB07@qq.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ALSA: es1938: check snd_ctl_new1() return value</title>
<updated>2026-07-18T14:55:21+00:00</updated>
<author>
<name>Zhao Dongdong</name>
<email>zhaodongdong@kylinos.cn</email>
</author>
<published>2026-05-27T12:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=1949163dee39e0e4a1468f37dd7302962f6af45a'/>
<id>urn:sha1:1949163dee39e0e4a1468f37dd7302962f6af45a</id>
<content type='text'>
commit 1edd1f02dddd20aeb6066ded41017615766ea42f upstream.

snd_ctl_new1() can return NULL when memory allocation fails.
snd_es1938_mixer() does not check the return value before dereferencing
the pointer, which can lead to a NULL pointer dereference.

Add a NULL check after snd_ctl_new1() and return -ENOMEM if it fails.

Assisted-by: Opencode:DeepSeek-V4-Flash
Cc: stable@vger.kernel.org
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Zhao Dongdong &lt;zhaodongdong@kylinos.cn&gt;
Link: https://patch.msgid.link/tencent_E0DC65165FDF2C8982BAFB6794B854B53B0A@qq.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ALSA: cmipci: check snd_ctl_new1() return value</title>
<updated>2026-07-18T14:55:21+00:00</updated>
<author>
<name>Zhao Dongdong</name>
<email>zhaodongdong@kylinos.cn</email>
</author>
<published>2026-05-27T12:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=67e9ea92cd598cba1783ff701553c776a6cedee9'/>
<id>urn:sha1:67e9ea92cd598cba1783ff701553c776a6cedee9</id>
<content type='text'>
commit c205bd1b28fb7e5f1061a4e78813fad7d315cb3e upstream.

snd_ctl_new1() can return NULL when memory allocation fails.
snd_cmipci_spdif_controls() does not check the return value before
dereferencing kctl-&gt;id.device, which can lead to a NULL pointer
dereference.

Add NULL checks after snd_ctl_new1() calls and return -ENOMEM if any
fails.

Assisted-by: Opencode:DeepSeek-V4-Flash
Cc: stable@vger.kernel.org
Fixes: f2f312ad88c6 ("ALSA: cmipci: Fix kctl-&gt;id initialization")
Signed-off-by: Zhao Dongdong &lt;zhaodongdong@kylinos.cn&gt;
Link: https://patch.msgid.link/tencent_964433DCD132125D5EDA79EE068A2D6EFA09@qq.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ALSA: ymfpci: check snd_ctl_new1() return value</title>
<updated>2026-07-18T14:55:20+00:00</updated>
<author>
<name>Zhao Dongdong</name>
<email>zhaodongdong@kylinos.cn</email>
</author>
<published>2026-05-27T12:09:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=18ec7d7785be7a4ee8ea11e355122282caad4267'/>
<id>urn:sha1:18ec7d7785be7a4ee8ea11e355122282caad4267</id>
<content type='text'>
commit e64d170346d00b580c0043de3e5ccb3e331c47d4 upstream.

snd_ctl_new1() can return NULL when memory allocation fails.
snd_ymfpci_create_spdif_controls() does not check the return value
before dereferencing kctl-&gt;id.device, which can lead to a NULL pointer
dereference.

Add NULL checks after snd_ctl_new1() calls and return -ENOMEM if any
fails.

Assisted-by: Opencode:DeepSeek-V4-Flash
Cc: stable@vger.kernel.org
Fixes: c9b83ae4a160 ("ALSA: ymfpci: Fix kctl-&gt;id initialization")
Signed-off-by: Zhao Dongdong &lt;zhaodongdong@kylinos.cn&gt;
Link: https://patch.msgid.link/tencent_4745C5DC2333325C0EDAB1EFC88A136E6809@qq.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ALSA: asihpi: Fix potential OOB array access at reading cache</title>
<updated>2026-05-16T13:41:58+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2026-05-15T08:55:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=7b7d6572145c1dab2dd9bfb550b188e5f0ff3c3f'/>
<id>urn:sha1:7b7d6572145c1dab2dd9bfb550b188e5f0ff3c3f</id>
<content type='text'>
find_control() to retrieve a cached info accesses the array with the
given index blindly, which may lead to an OOB array access.
Add a sanity check for avoiding it.

Link: https://sashiko.dev/#/patchset/20260511230121.28606-1-rosenp%40gmail.com
Cc: &lt;stable@vger.kernel.org&gt;
Link: https://patch.msgid.link/20260515085606.242284-1-tiwai@suse.de
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: als4000: Fix capture trigger chip-&gt;mode race</title>
<updated>2026-04-20T15:59:19+00:00</updated>
<author>
<name>Cássio Gabriel</name>
<email>cassiogabrielcontato@gmail.com</email>
</author>
<published>2026-04-17T20:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=4cc3ec3d8b3536f2293a5a984c28ba2a09e8b22d'/>
<id>urn:sha1:4cc3ec3d8b3536f2293a5a984c28ba2a09e8b22d</id>
<content type='text'>
snd_als4000_capture_trigger() updates chip-&gt;mode under mixer_lock,
while snd_als4000_set_rate() and snd_als4000_playback_trigger()
serialize the same rate-lock state with reg_lock.

The PCM core serializes callbacks only per acted-on substream, or for an
explicitly linked group, so unlinked playback and capture streams can
run concurrently.

That leaves two races on ALS4000 rate-lock state:
- playback and capture trigger callbacks can concurrently update
  chip-&gt;mode and lose one of the SB_RATE_LOCK bits
- snd_als4000_set_rate() can observe chip-&gt;mode without the capture
  lock bit set and reprogram the shared sample rate while capture is
  being started

Fix this by taking reg_lock as the outer lock in
snd_als4000_capture_trigger() and nesting mixer_lock only for the CR1E
write. This keeps chip-&gt;mode serialized with the rest of the ALS4000
rate-lock users while preserving the existing CR1E programming
sequence.

Signed-off-by: Cássio Gabriel &lt;cassiogabrielcontato@gmail.com&gt;
Link: https://patch.msgid.link/20260417-als4000-capture-trigger-race-v1-1-daeffc2feb67@gmail.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: ctxfi: Add fallback to default RSR for S/PDIF</title>
<updated>2026-04-06T08:46:13+00:00</updated>
<author>
<name>Harin Lee</name>
<email>me@harin.net</email>
</author>
<published>2026-04-06T07:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=7d61662197ecdc458e33e475b6ada7f6da61d364'/>
<id>urn:sha1:7d61662197ecdc458e33e475b6ada7f6da61d364</id>
<content type='text'>
spdif_passthru_playback_get_resources() uses atc-&gt;pll_rate as the RSR
for the MSR calculation loop. However, pll_rate is only updated in
atc_pll_init() and not in hw_pll_init(), so it remains 0 after the
card init.

When spdif_passthru_playback_setup() skips atc_pll_init() for
32000 Hz, (rsr * desc.msr) always becomes 0, causing the loop to spin
indefinitely.

Add fallback to use atc-&gt;rsr when atc-&gt;pll_rate is 0. This reflects
the hardware state, since hw_card_init() already configures the PLL
to the default RSR.

Fixes: 8cc72361481f ("ALSA: SB X-Fi driver merge")
Cc: stable@vger.kernel.org
Signed-off-by: Harin Lee &lt;me@harin.net&gt;
Link: https://patch.msgid.link/20260406074913.217374-1-me@harin.net
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: ctxfi: Limit PTP to a single page</title>
<updated>2026-04-06T08:44:47+00:00</updated>
<author>
<name>Harin Lee</name>
<email>me@harin.net</email>
</author>
<published>2026-04-06T07:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=e9418da50d9e5c496c22fe392e4ad74c038a94eb'/>
<id>urn:sha1:e9418da50d9e5c496c22fe392e4ad74c038a94eb</id>
<content type='text'>
Commit 391e69143d0a increased CT_PTP_NUM from 1 to 4 to support 256
playback streams, but the additional pages are not used by the card
correctly. The CT20K2 hardware already has multiple VMEM_PTPAL
registers, but using them separately would require refactoring the
entire virtual memory allocation logic.

ct_vm_map() always uses PTEs in vm-&gt;ptp[0].area regardless of
CT_PTP_NUM. On AMD64 systems, a single PTP covers 512 PTEs (2M). When
aggregate memory allocations exceed this limit, ct_vm_map() tries to
access beyond the allocated space and causes a page fault:

  BUG: unable to handle page fault for address: ffffd4ae8a10a000
  Oops: Oops: 0002 [#1] SMP PTI
  RIP: 0010:ct_vm_map+0x17c/0x280 [snd_ctxfi]
  Call Trace:
  atc_pcm_playback_prepare+0x225/0x3b0
  ct_pcm_playback_prepare+0x38/0x60
  snd_pcm_do_prepare+0x2f/0x50
  snd_pcm_action_single+0x36/0x90
  snd_pcm_action_nonatomic+0xbf/0xd0
  snd_pcm_ioctl+0x28/0x40
  __x64_sys_ioctl+0x97/0xe0
  do_syscall_64+0x81/0x610
  entry_SYSCALL_64_after_hwframe+0x76/0x7e

Revert CT_PTP_NUM to 1. The 256 SRC_RESOURCE_NUM and playback_count
remain unchanged.

Fixes: 391e69143d0a ("ALSA: ctxfi: Bump playback substreams to 256")
Cc: stable@vger.kernel.org
Signed-off-by: Harin Lee &lt;me@harin.net&gt;
Link: https://patch.msgid.link/20260406074857.216034-1-me@harin.net
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: ctxfi: Precompute SRC allocation loop bound</title>
<updated>2026-04-01T12:43:54+00:00</updated>
<author>
<name>Harin Lee</name>
<email>me@harin.net</email>
</author>
<published>2026-04-01T09:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=80449e1966cb9df57617a1d22bccd1e29cbc4222'/>
<id>urn:sha1:80449e1966cb9df57617a1d22bccd1e29cbc4222</id>
<content type='text'>
Replace the capability checks in the SRC and SRCIMP allocation loops
with a precomputed loop bound. Cards with a dedicated mic input
(SB1270, OK0010) allocate all NUM_ATC_SRCS entries, otherwise stop
at 4.

Signed-off-by: Harin Lee &lt;me@harin.net&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20260401090159.2404387-4-me@harin.net
</content>
</entry>
<entry>
<title>ALSA: ctxfi: Use correct DAIO type for da_desc</title>
<updated>2026-04-01T12:43:54+00:00</updated>
<author>
<name>Harin Lee</name>
<email>me@harin.net</email>
</author>
<published>2026-04-01T09:01:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=07b116b44e52d78af40c2d39a8e1e34ef1283d0d'/>
<id>urn:sha1:07b116b44e52d78af40c2d39a8e1e34ef1283d0d</id>
<content type='text'>
Skip the unused DAIO type per model (SPDIFIO on CTSB073X, SPDIFI_BAY
on all others) and use the correct DAIO type directly as da_desc
type. This removes the mismatch and misleading between the actual
DAIO resource and the da_desc type like SPDIFI_BAY (formerly SPDIFI1).
Update related functions accordingly, and drop the unreachable
SPDIFI_BAY case from the hw20k2 daio_device_index().

Signed-off-by: Harin Lee &lt;me@harin.net&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20260401090159.2404387-3-me@harin.net
</content>
</entry>
</feed>
