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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.10 | 6.12.18 |
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.12.19-1 | — |
| Debian 13 | linux | 6.12.19-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux | 6.8.0-84.84 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1039.41 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1038.44 | USN-7802-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1025.27 | USN-7809-1 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1040.42 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1036.40 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1023.25 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1037.37 | USN-7779-1 |
| Ubuntu 24.04 LTS | linux-intel +10 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-84.84.1 | USN-7764-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1039.42 | USN-7765-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1039.42.1 | USN-7765-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1010.10 | — |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1037.38 | USN-7801-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1039.43 | USN-7790-1 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1018.19 | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1039.41~22.04.1 | USN-7766-1 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1036.42~22.04.1 | USN-7802-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1040.42~22.04.1 | USN-7766-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-85.85~22.04.1 | USN-7801-1, USN-7764-2 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1037.37~22.04.1 | USN-7779-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-84.84.1~22.04.1 | USN-7764-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1039.42~22.04.1 | USN-7765-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1037.38~22.04.1 | USN-7801-3 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-84.84~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-2030.31 | USN-7800-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1034.35 | USN-7767-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1034.35~22.04.1 | USN-7767-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1039.41+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1040.46+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-84.84+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1040.42+fips1 | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.6.1 | SUSE-SU-2025:02307-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.6.1 | SUSE-SU-2025:02254-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.6.1.150700.17.6.1 | SUSE-SU-2025:02307-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.6.1 | SUSE-SU-2025:02307-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_2 | 1-150700.1.5.1 | SUSE-SU-2025:02333-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_2 | 1-150700.15.3.1 | SUSE-SU-2025:02307-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.8.1 | SUSE-SU-2025:02333-1 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-101.33.4.3.el10uek | ELSA-2025-20530, ELSA-2025-20480 |
Advisories 20
- USN-7802-1 linux-azure, linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7809-1 linux-azure-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-3 linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7800-1 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7801-2 linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7764-1 linux, linux-aws, linux-gcp, linux-gke, linux-gkeop, linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7765-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7766-1 linux-aws-6.8, linux-gcp-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7767-2 linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7779-1 linux-ibm, linux-ibm-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7790-1 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- USN-7767-1 linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Oct 30, 2026
- WID-SEC-2025-0649 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 3, 2026
- USN-7764-2 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Jun 3, 2026
- SUSE-SU-2025:02254-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02333-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02307-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- ELSA-2025-20530 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Aug 18, 2025
- ELSA-2025-20480 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 17, 2025