CVE-2025-40061: RDMA/rxe: Fix race in do_task() when draining

Published Oct 28, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

RDMA/rxe: Fix race in dotask() when draining

When dotask() exhausts its iteration budget (!ret), it sets the state to TASKSTATEIDLE to reschedule, without a secondary check on the current task->state. This can overwrite the TASKSTATEDRAINING state set by a concurrent call to rxecleanuptask() or rxedisabletask().

While state changes are protected by a spinlock, both rxecleanuptask() and rxedisabletask() release the lock while waiting for the task to finish draining in the while(!isdone(task)) loop. The race occurs if dotask() hits its iteration limit and acquires the lock in this window. The cleanup logic may then proceed while the task incorrectly reschedules itself, leading to a potential use-after-free.

This bug was introduced during the migration from tasklets to workqueues, where the special handling for the draining case was lost.

Fix this by restoring the original pre-migration behavior. If the state is TASKSTATEDRAINING when iterations are exhausted, set cont to 1 to force a new loop iteration. This allows the task to finish its work, so that a subsequent iteration can reach the switch statement and correctly transition the state to TASKSTATEDRAINED, stopping the task as intended.

Affected Software

150 affected componentsFixes available
Linux Linux kernel
Microsoft azl3 kernel 6.6.104.2-4
Microsoft azl3 kernel 6.6.104.2-4
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8<6.8.0-1050.53~22.04.1
6.8.0-1050.53~22.04.1
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8<6.8.0-1051.57~22.04.1
6.8.0-1051.57~22.04.1
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-azure-fde-6.8<6.8.0-1058.65~22.04.1
6.8.0-1058.65~22.04.1
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8<6.8.0-1052.55~22.04.1
6.8.0-1052.55~22.04.1
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-hwe-6.8<6.8.0-106.106~22.04.1
6.8.0-106.106~22.04.1
ubuntu/linux-ibm-6.8<6.8.0-1049.49~22.04.1
6.8.0-1049.49~22.04.1
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8<6.8.0-106.106.1~22.04.1
6.8.0-106.106.1~22.04.1
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8<6.8.0-1049.52~22.04.1
6.8.0-1049.52~22.04.1
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8<6.8.0-1047.48~22.04.1
6.8.0-1047.48~22.04.1
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8<6.8.0-106.106~22.04.1
6.8.0-106.106~22.04.1
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-realtime-6.8<6.8.1-1045.46~22.04.1
6.8.1-1045.46~22.04.1
ubuntu/linux<6.8.0-106.106
6.8.0-106.106
ubuntu/linux-aws<6.8.0-1050.53
6.8.0-1050.53
ubuntu/linux-aws-6.14*
ubuntu/linux-aws-6.17<6.17.0-1007.7~24.04.1
6.17.0-1007.7~24.04.1
ubuntu/linux-azure<6.8.0-1051.57
6.8.0-1051.57
ubuntu/linux-azure-6.11*
ubuntu/linux-azure-6.14*
ubuntu/linux-azure-fde<6.8.0-1058.65
6.8.0-1058.65
ubuntu/linux-azure-fde-6.14*
ubuntu/linux-azure-nvidia<6.8.0-1039.42
6.8.0-1039.42
ubuntu/linux-azure-nvidia-6.14*
ubuntu/linux-gcp<6.8.0-1052.55
6.8.0-1052.55
ubuntu/linux-gcp-6.11*
ubuntu/linux-gcp-6.14*
ubuntu/linux-gcp-6.17<6.17.0-1008.8~24.04.1
6.17.0-1008.8~24.04.1
ubuntu/linux-gke<6.8.0-1048.53
6.8.0-1048.53
ubuntu/linux-gkeop<6.8.0-1035.38
6.8.0-1035.38
ubuntu/linux-hwe-6.11*
ubuntu/linux-hwe-6.14*
ubuntu/linux-ibm<6.8.0-1049.49
6.8.0-1049.49
ubuntu/linux-lowlatency<6.8.0-106.106.1
6.8.0-106.106.1
ubuntu/linux-lowlatency-hwe-6.11*
ubuntu/linux-nvidia<6.8.0-1049.52
6.8.0-1049.52
ubuntu/linux-nvidia-6.11*
ubuntu/linux-nvidia-6.17<6.17.0-1008.8
6.17.0-1008.8
ubuntu/linux-nvidia-lowlatency<6.8.0-1049.52.1
6.8.0-1049.52.1
ubuntu/linux-nvidia-tegra<6.8.0-1020.20
6.8.0-1020.20
ubuntu/linux-oem-6.11*
ubuntu/linux-oem-6.14*
ubuntu/linux-oem-6.17<6.17.0-1011.11
6.17.0-1011.11
ubuntu/linux-oem-6.8*
ubuntu/linux-oracle<6.8.0-1047.48
6.8.0-1047.48
ubuntu/linux-oracle-6.14*
ubuntu/linux-oracle-6.17<6.17.0-1007.7~24.04.1
6.17.0-1007.7~24.04.1
ubuntu/linux-raspi<6.8.0-1050.54
6.8.0-1050.54
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-6.14*
ubuntu/linux-xilinx<6.8.0-1028.29
6.8.0-1028.29
ubuntu/linux-bluefield<6.8.0-1017.21
6.8.0-1017.21
ubuntu/linux-raspi-realtime<6.8.0-2040.41
6.8.0-2040.41
ubuntu/linux-realtime<6.8.1-1045.46
6.8.1-1045.46
ubuntu/linux-realtime-6.14*
ubuntu/linux-realtime-6.17<6.17.0-1006.7~24.04.1
6.17.0-1006.7~24.04.1
ubuntu/linux-aws-fips<6.8.0-1050.53+fips1
6.8.0-1050.53+fips1
ubuntu/linux-azure-fips<6.8.0-1052.58+fips1
6.8.0-1052.58+fips1
ubuntu/linux-fips<6.8.0-106.106+fips1
6.8.0-106.106+fips1
ubuntu/linux-gcp-fips<6.8.0-1052.55+fips1
6.8.0-1052.55+fips1
ubuntu/linux<6.17.0-14.14
6.17.0-14.14
ubuntu/linux-aws<6.17.0-1007.7
6.17.0-1007.7
ubuntu/linux-azure<6.17.0-1008.8
6.17.0-1008.8
ubuntu/linux-azure-fde*
ubuntu/linux-gcp<6.17.0-1007.7
6.17.0-1007.7
ubuntu/linux-oracle<6.17.0-1007.7
6.17.0-1007.7
ubuntu/linux-raspi<6.17.0-1008.8
6.17.0-1008.8
ubuntu/linux-realtime<6.17.0-1006.7
6.17.0-1006.7
ubuntu/linux-riscv<6.17.0-14.14.1
6.17.0-14.14.1
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/linux-aws-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1050.53~22.04.1
  2. Upgrade

    Upgrade ubuntu/linux-azure-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1051.57~22.04.1
  3. Upgrade

    Upgrade ubuntu/linux-azure-fde-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1058.65~22.04.1
  4. Upgrade

    Upgrade ubuntu/linux-gcp-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1052.55~22.04.1
  5. Upgrade

    Upgrade ubuntu/linux-hwe-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106~22.04.1
  6. Upgrade

    Upgrade ubuntu/linux-ibm-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1049.49~22.04.1
  7. Upgrade

    Upgrade ubuntu/linux-lowlatency-hwe-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106.1~22.04.1
  8. Upgrade

    Upgrade ubuntu/linux-nvidia-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1049.52~22.04.1
  9. Upgrade

    Upgrade ubuntu/linux-oracle-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.48~22.04.1
  10. Upgrade

    Upgrade ubuntu/linux-riscv-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106~22.04.1
  11. Upgrade

    Upgrade ubuntu/linux-realtime-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.1-1045.46~22.04.1
  12. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106
  13. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 6.8.0-1050.53
  14. Upgrade

    Upgrade ubuntu/linux-aws-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1007.7~24.04.1
  15. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 6.8.0-1051.57
  16. Upgrade

    Upgrade ubuntu/linux-azure-fde to a version that resolves this vulnerability.

    Fixed in 6.8.0-1058.65
  17. Upgrade

    Upgrade ubuntu/linux-azure-nvidia to a version that resolves this vulnerability.

    Fixed in 6.8.0-1039.42
  18. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 6.8.0-1052.55
  19. Upgrade

    Upgrade ubuntu/linux-gcp-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1008.8~24.04.1
  20. Upgrade

    Upgrade ubuntu/linux-gke to a version that resolves this vulnerability.

    Fixed in 6.8.0-1048.53
  21. Upgrade

    Upgrade ubuntu/linux-gkeop to a version that resolves this vulnerability.

    Fixed in 6.8.0-1035.38
  22. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 6.8.0-1049.49
  23. Upgrade

    Upgrade ubuntu/linux-lowlatency to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106.1
  24. Upgrade

    Upgrade ubuntu/linux-nvidia to a version that resolves this vulnerability.

    Fixed in 6.8.0-1049.52
  25. Upgrade

    Upgrade ubuntu/linux-nvidia-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1008.8
  26. Upgrade

    Upgrade ubuntu/linux-nvidia-lowlatency to a version that resolves this vulnerability.

    Fixed in 6.8.0-1049.52.1
  27. Upgrade

    Upgrade ubuntu/linux-nvidia-tegra to a version that resolves this vulnerability.

    Fixed in 6.8.0-1020.20
  28. Upgrade

    Upgrade ubuntu/linux-oem-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1011.11
  29. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.48
  30. Upgrade

    Upgrade ubuntu/linux-oracle-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1007.7~24.04.1
  31. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 6.8.0-1050.54
  32. Upgrade

    Upgrade ubuntu/linux-xilinx to a version that resolves this vulnerability.

    Fixed in 6.8.0-1028.29
  33. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 6.8.0-1017.21
  34. Upgrade

    Upgrade ubuntu/linux-raspi-realtime to a version that resolves this vulnerability.

    Fixed in 6.8.0-2040.41
  35. Upgrade

    Upgrade ubuntu/linux-realtime to a version that resolves this vulnerability.

    Fixed in 6.8.1-1045.46
  36. Upgrade

    Upgrade ubuntu/linux-realtime-6.17 to a version that resolves this vulnerability.

    Fixed in 6.17.0-1006.7~24.04.1
  37. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1050.53+fips1
  38. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1052.58+fips1
  39. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-106.106+fips1
  40. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1052.55+fips1
  41. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 6.17.0-14.14
  42. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 6.17.0-1007.7
  43. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 6.17.0-1008.8
  44. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 6.17.0-1007.7
  45. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 6.17.0-1007.7
  46. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 6.17.0-1008.8
  47. Upgrade

    Upgrade ubuntu/linux-realtime to a version that resolves this vulnerability.

    Fixed in 6.17.0-1006.7
  48. Upgrade

    Upgrade ubuntu/linux-riscv to a version that resolves this vulnerability.

    Fixed in 6.17.0-14.14.1
  49. Compensating control

    Restore the pre-migration draining behavior in RDMA/rxe do_task(): when iterations are exhausted (!ret) and task->state is TASK_STATE_DRAINING, set cont to 1 to force a new loop iteration, allowing the task to transition to TASK_STATE_DRAINED instead of rescheduling as TASK_STATE_IDLE.

Event History

Oct 28, 2025
CVE Published
via MITRE·11:48 AM
Data Sourced
via MITRE·11:48 AM
DescriptionSeverity
Data Sourced
via OSV·12:15 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·12:15 PM
DescriptionSeverity
Oct 29, 2025
Data Sourced
via Microsoft·01:02 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·01:02 AM
Affected Software

Frequently Asked Questions

1

What is the severity of CVE-2025-40061?

CVE-2025-40061 has been classified as a moderate severity vulnerability in the Linux kernel.

2

How do I fix CVE-2025-40061?

To fix CVE-2025-40061, update your Linux kernel to the latest version provided by your distribution that includes the patch for this vulnerability.

3

What are the potential impacts of CVE-2025-40061?

The potential impacts of CVE-2025-40061 include race conditions in task scheduling, possibly leading to unexpected behavior in RDMA operations.

4

Which systems are affected by CVE-2025-40061?

CVE-2025-40061 affects versions of the Linux kernel that implement RDMA with the rxe driver.

5

Is there a workaround for CVE-2025-40061?

There are no known effective workarounds for CVE-2025-40061, and updating the kernel is the recommended course of action.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203