Vulnerability · Published Mar 27, 2025 · Assigned by Linux

CVE-2025-21880drm/xe/userptr: fix EFAULT handling

Medium 5.5

In plain English

A medium-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)5.5Medium
Exploit odds (30 days)0.2%top 89.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: drm/xe/userptr: fix EFAULT handling Currently we treat EFAULT from hmm_range_fault() as a non-fatal error when called from xe_vm_userptr_pin() with the idea that we want to avoid killing the entire vm and chucking an error, under the assumption that the user just did an unmap or something, and has no intention of actually touching that memory from the GPU. At this point we have already zapped the PTEs so any access should generate a page fault, and if the pin fails there also it will then become fatal. However it looks like it's possible for the userptr vma to still be on the rebind list in preempt_rebind_work_func(), if we had to retry the pin again due to something happening in the caller before we did the rebind step, but in the meantime needing to re-validate the userptr and this time hitting the EFAULT. This explains an internal user report of hitting: [ 191.738349] WARNING: CPU: 1 PID: 157 at drivers/gpu/drm/xe/xe_res_cursor.h:158 xe_pt_stage_bind.constprop.0+0x60a/0x6b0 [xe] [ 191.738551] Workqueue: xe-ordered-wq preempt_rebind_work_func [xe] [ 191.738616] RIP: 0010:xe_pt_stage_bind.constprop.0+0x60a/0x6b0 [xe] [ 191.738690] Call Trace: [ 191.738692] <TASK> [ 191.738694] ? show_regs+0x69/0x80 [ 191.738698] ? __warn+0x93/0x1a0 [ 191.738703] ? xe_pt_stage_bind.constprop.0+0x60a/0x6b0 [xe] [ 191.738759] ? report_bug+0x18f/0x1a0 [ 191.738764] ? handle_bug+0x63/0xa0 [ 191.738767] ? exc_invalid_op+0x19/0x70 [ 191.738770] ? asm_exc_invalid_op+0x1b/0x20 [ 191.738777] ? xe_pt_stage_bind.constprop.0+0x60a/0x6b0 [xe] [ 191.738834] ? ret_from_fork_asm+0x1a/0x30 [ 191.738849] bind_op_prepare+0x105/0x7b0 [xe] [ 191.738906] ? dma_resv_reserve_fences+0x301/0x380 [ 191.738912] xe_pt_update_ops_prepare+0x28c/0x4b0 [xe] [ 191.738966] ? kmemleak_alloc+0x4b/0x80 [ 191.738973] ops_execute+0x188/0x9d0 [xe] [ 191.739036] xe_vm_rebind+0x4ce/0x5a0 [xe] [ 191.739098] ? trace_hardirqs_on+0x4d/0x60 [ 191.739112] preempt_rebind_work_func+0x76f/0xd00 [xe] Followed by NPD, when running some workload, since the sg was never actually populated but the vma is still marked for rebind when it should be skipped for this special EFAULT case. This is confirmed to fix the user report. v2 (MattB): - Move earlier. v3 (MattB): - Update the commit message to make it clear that this indeed fixes the issue. (cherry picked from commit 6b93cb98910c826c2e2004942f8b060311e43618)

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:13linux6.12.19-1DEBIAN-CVE-2025-21880
Debian:14linux6.12.19-1DEBIAN-CVE-2025-21880
Ubuntu:24.04:LTSlinux6.8.0-84.84USN-7764-1
Ubuntu:24.04:LTSlinux6.8.0-84.84UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-aws6.8.0-1039.41USN-7764-1
Ubuntu:24.04:LTSlinux-aws6.8.0-1039.41UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1039.41~22.04.1USN-7766-1
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1039.41~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-azure6.8.0-1038.44UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-azure6.8.0-1038.44USN-7802-1
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1036.42~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1036.42~22.04.1USN-7802-1
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1025.27USN-7809-1
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1025.27UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-gcp6.8.0-1040.42USN-7764-1
Ubuntu:24.04:LTSlinux-gcp6.8.0-1040.42UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1040.42~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1040.42~22.04.1USN-7766-1
Ubuntu:24.04:LTSlinux-gke6.8.0-1036.40UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-gke6.8.0-1036.40USN-7764-1
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1023.25USN-7764-1
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1023.25UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-84.84~22.04.1USN-7764-2
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-85.85~22.04.1USN-7801-1
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-85.85~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-ibm6.8.0-1037.37USN-7779-1
Ubuntu:24.04:LTSlinux-ibm6.8.0-1037.37UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1037.37~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1037.37~22.04.1USN-7779-1
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-84.84.1USN-7764-1
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-84.84.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-84.84.1~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-84.84.1~22.04.1USN-7764-1
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1039.42UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1039.42USN-7765-1
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1039.42~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1039.42~22.04.1USN-7765-1
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1039.42.1UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1039.42.1USN-7765-1
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1010.10UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-oracle6.8.0-1037.38USN-7801-2
Ubuntu:24.04:LTSlinux-oracle6.8.0-1037.38UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1037.38~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1037.38~22.04.1USN-7801-3
Ubuntu:24.04:LTSlinux-raspi6.8.0-1039.43USN-7790-1
Ubuntu:24.04:LTSlinux-raspi6.8.0-1039.43UBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-84.84~22.04.1UBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-21880
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-21880
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1018.19UBUNTU-CVE-2025-21880

Affected products (as reported)

VendorProductVersions
Linux Linux 521db22a1d70dbc596a07544a738416025b1b63c – before daad16d0a538fa938e344fd83927bbcfcd8a66ec521db22a1d70dbc596a07544a738416025b1b63c – before 51cc278f8ffacd5f9dc7d13191b81b912829db59521db22a1d70dbc596a07544a738416025b1b63c – before a9f4fa3a7efa65615ff7db13023ac84516e99e21
Linux Linux 6.10

References