Description
In the Linux kernel, the following vulnerability has been resolved:
usb: dwc2: fix a devres leak in hw_enable upon suspend resume
Each time the platform goes to low power, PM suspend / resume routines
call: __dwc2_lowlevel_hw_enable -> devm_add_action_or_reset().
This adds a new devres each time.
This may also happen at runtime, as dwc2_lowlevel_hw_enable() can be
called from udc_start().
This can be seen with tracing:
- echo 1 > /sys/kernel/debug/tracing/events/dev/devres_log/enable
- go to low power
- cat /sys/kernel/debug/tracing/trace
A new "ADD" entry is found upon each low power cycle:
... devres_log: 49000000.usb-otg ADD 82a13bba devm_action_release (8 bytes)
... devres_log: 49000000.usb-otg ADD 49889daf devm_action_release (8 bytes)
...
A second issue is addressed here:
- regulator_bulk_enable() is called upon each PM cycle (suspend/resume).
- regulator_bulk_disable() never gets called.
So the reference count for these regulators constantly increase, by one
upon each low power cycle, due to missing regulator_bulk_disable() call
in __dwc2_lowlevel_hw_disable().
The original fix that introduced the devm_add_action_or_reset() call,
fixed an issue during probe, that happens due to other errors in
dwc2_driver_probe() -> dwc2_core_reset(). Then the probe fails without
disabling regulators, when dr_mode == USB_DR_MODE_PERIPHERAL.
Rather fix the error path: disable all the low level hardware in the
error path, by using the "hsotg->ll_hw_enabled" flag. Checking dr_mode
has been introduced to avoid a dual call to dwc2_lowlevel_hw_disable().
"ll_hw_enabled" should achieve the same (and is used currently in the
remove() routine).
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 4.4.233 – < 4.5, 4.9.233 – < 4.10, 4.14.194 – < 4.15, 4.19.140 – < 4.20, 5.4.59 – < 5.5, 5.7.16 – < 5.8, 5.8.2 – < 5.9, 5.9 | 4.5 |
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.1.25-1 | — |
| Debian 13 | linux | 6.1.25-1 | — |
| Debian 12 | linux | 6.1.25-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1022.24 | — |
| Ubuntu 24.04 LTS | linux-realtime +1 | No fix yet | — |
| Ubuntu 22.04 LTS | linux | 5.15.0-79.86 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1042.47 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1045.52 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1045.52.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1039.47 | — |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1039.44 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1025.30 | — |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1035.38 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1037.42 | — |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-79.88 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1030.30 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1016.16 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1002.2 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1040.46 | — |
| Ubuntu 22.04 LTS | linux-riscv +31 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1025.29 | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1041.46~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1045.52~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1039.47~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 | 5.15.0-79.86~20.04.2 | — |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1036.39~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1037.42~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-lowlatency-hwe-5.15 | 5.15.0-79.88~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1016.16~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1040.46~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1038.42~20.04.2 | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1036.38 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1043.48 | — |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +10 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux +12 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux-aws +2 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.110.1 | SUSE-SU-2025:02173-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.110.1.150500.6.51.3 | SUSE-SU-2025:02173-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | kernel-default-base | 5.14.21-150500.55.110.1.150500.6.51.3 | SUSE-SU-2025:02173-1 |
| SLES for SAP 15 SP5 | kernel-docs +4 | 5.14.21-150500.55.110.1 | SUSE-SU-2025:02173-1 |
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.110.1.150500.6.51.3 | SUSE-SU-2025:02173-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.97.1 | SUSE-SU-2025:01966-1 |
| SLE Micro 5.5 | kernel-source +1 | 5.14.21-150500.55.110.1 | SUSE-SU-2025:02173-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.121.1 | SUSE-SU-2025:01918-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.121.1 | SUSE-SU-2025:01918-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.110.1 | SUSE-SU-2025:02173-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_27 | 1-150500.11.7.1 | SUSE-SU-2025:02173-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_41 | 1-150400.9.3.1 | SUSE-SU-2025:02262-1 |
| SLE HPC 15 SP5 | kernel-64kb +5 | 5.14.21-150500.55.110.1 | SUSE-SU-2025:02173-1 |
| SLE HPC 15 SP5 | kernel-default-base | 5.14.21-150500.55.110.1.150500.6.51.3 | SUSE-SU-2025:02173-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SUSE Manager Server 4.3 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SUSE Manager Server 4.3 | kernel-syms +3 | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
| SUSE Manager Proxy 4.3 | kernel-default-base | 5.14.21-150400.24.167.1.150400.24.84.1 | SUSE-SU-2025:02262-1 |
| SUSE Manager Proxy 4.3 | kernel-syms +2 | 5.14.21-150400.24.167.1 | SUSE-SU-2025:02262-1 |
Advisories 4
- SUSE-SU-2025:02262-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01918-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:02173-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01966-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
References
- https://git.kernel.org/stable/c/1f01027c51eb16145e8e07fafea3ca07ef102d06
- https://git.kernel.org/stable/c/cba76e1fb896b573f09f51aa299223276a77bc90
- https://git.kernel.org/stable/c/ffb8ab6f87bd28d700ab5c20d9d3a7e75067630d
- https://git.kernel.org/stable/c/6485fc381b6528b6f547ee1ff10bdbcbe31a6e4c
- https://git.kernel.org/stable/c/f747313249b74f323ddf841a9c8db14d989f296a