Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btnxpuart: Resolve TX timeout error in power save stress test
This fixes the tx timeout issue seen while running a stress test on
btnxpuart for couple of hours, such that the interval between two HCI
commands coincide with the power save timeout value of 2 seconds.
Test procedure using bash script:
<load btnxpuart.ko>
hciconfig hci0 up
//Enable Power Save feature
hcitool -i hci0 cmd 3f 23 02 00 00
while (true)
do
hciconfig hci0 leadv
sleep 2
hciconfig hci0 noleadv
sleep 2
done
Error log, after adding few more debug prints:
Bluetooth: btnxpuart_queue_skb(): 01 0A 20 01 00
Bluetooth: hci0: Set UART break: on, status=0
Bluetooth: hci0: btnxpuart_tx_wakeup() tx_work scheduled
Bluetooth: hci0: btnxpuart_tx_work() dequeue: 01 0A 20 01 00
Can't set advertise mode on hci0: Connection timed out (110)
Bluetooth: hci0: command 0x200a tx timeout
When the power save mechanism turns on UART break, and btnxpuart_tx_work()
is scheduled simultaneously, psdata->ps_state is read as PS_STATE_AWAKE,
which prevents the psdata->work from being scheduled, which is responsible
to turn OFF UART break.
This issue is fixed by adding a ps_lock mutex around UART break on/off as
well as around ps_state read/write.
btnxpuart_tx_wakeup() will now read updated ps_state value. If ps_state is
PS_STATE_SLEEP, it will first schedule psdata->work, and then it will
reschedule itself once UART break has been turned off and ps_state is
PS_STATE_AWAKE.
Tested above script for 50,000 iterations and TX timeout error was not
observed anymore.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.4 | 6.6.49 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.9.7-1 | — |
| Debian 13 | linux | 6.9.7-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux | 6.8.0-50.51 | — |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1020.22 | — |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1020.23 | — |
| Ubuntu 24.04 LTS | linux-gcp +1 | 6.8.0-1019.21 | — |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1015.19 | — |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1002.4 | — |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1017.17 | — |
| Ubuntu 24.04 LTS | linux-intel +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-50.51.1 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1019.21.1 | — |
| Ubuntu 24.04 LTS | linux-oracle +1 | 6.8.0-1017.18 | — |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1016.18 | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1020.22~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1020.23~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 +1 | 6.8.0-1019.21~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-50.51~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1017.17~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1017.18~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 +1 | 6.8.0-50.51.1~22.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2015.16 | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1013.14 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1013.14~22.04.1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-78.78+fips1 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.16.1 | SUSE-SU-2025:03290-1 |
| SLES 15 SP7 | kernel-azure +1 | 6.4.0-150700.20.15.2 | SUSE-SU-2025:03633-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.16.1.150700.17.11.2 | SUSE-SU-2025:03290-1 |
| SLES 15 SP7 | kernel-syms-azure | 6.4.0-150700.20.15.1 | SUSE-SU-2025:03633-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.70.1 | SUSE-SU-2025:03301-1 |
| SLES 15 SP6 | kernel-azure +2 | 6.4.0-150600.8.52.1 | SUSE-SU-2025:03634-1 |
| SLES 15 SP6 | kernel-coco +3 | 6.4.0-15061.32.coco15sp6.1 | SUSE-SU-2025:03602-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.70.1.150600.12.30.2 | SUSE-SU-2025:03301-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.1 | kernel-default-base | 6.4.0-34.1.21.11 | SUSE-SU-2025:20669-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-36.1 | SUSE-SU-2025:20756-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-34.1 | SUSE-SU-2025:20669-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-34.1.21.11 | SUSE-SU-2025:20653-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-36.1 | SUSE-SU-2025:20739-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-34.1 | SUSE-SU-2025:20653-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.16.1 | SUSE-SU-2025:03290-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_4 | 1-150700.1.3.2 | SUSE-SU-2025:03382-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_4 | 1-150700.15.3.2 | SUSE-SU-2025:03290-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.70.1 | SUSE-SU-2025:03301-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_15 | 1-150600.1.3.1 | SUSE-SU-2025:03272-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_15 | 1-150600.13.3.2 | SUSE-SU-2025:03301-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.16.1 | SUSE-SU-2025:03382-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.52.1 | SUSE-SU-2025:03272-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.70.1 | SUSE-SU-2025:03301-1 |
| openSUSE Leap 15.6 | kernel-azure +2 | 6.4.0-150600.8.52.1 | SUSE-SU-2025:03634-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.70.1.150600.12.30.2 | SUSE-SU-2025:03301-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.52.1 | SUSE-SU-2025:03272-1 |
Advisories 12
- SUSE-SU-2025:03634-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03272-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20669-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03602-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03382-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20739-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20756-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03633-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03290-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20653-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- WID-SEC-2025-1754 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Feb 15, 2026
- SUSE-SU-2025:03301-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026