# CVE-2025-38189: drm/v3d: Avoid NULL pointer dereference in `v3d_job_update_stats()`

CVE-2025-38189 is fixed in 18 products on 1 platform, first by DEBIAN-CVE-2025-38189, released July 4, 2025. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2025-38189
- Priority: Routine
- CVSS: 5.5 (Moderate)
- EPSS: 0.0019
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jul 4, 2025
- Weakness: NULL Pointer Dereference
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-38189

## Description

In the Linux kernel, the following vulnerability has been resolved:  drm/v3d: Avoid NULL pointer dereference in `v3d_job_update_stats()`  The following kernel Oops was recently reported by Mesa CI:  [  800.139824] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000588 [  800.148619] Mem abort info: [  800.151402]   ESR = 0x0000000096000005 [  800.155141]   EC = 0x25: DABT (current EL), IL = 32 bits [  800.160444]   SET = 0, FnV = 0 [  800.163488]   EA = 0, S1PTW = 0 [  800.166619]   FSC = 0x05: level 1 translation fault [  800.171487] Data abort info: [  800.174357]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [  800.179832]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [  800.184873]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [  800.190176] user pgtable: 4k pages, 39-bit VAs, pgdp=00000001014c2000 [  800.196607] [0000000000000588] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [  800.205305] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [  800.211564] Modules linked in: vc4 snd_soc_hdmi_codec drm_display_helper v3d cec gpu_sched drm_dma_helper drm_shmem_helper drm_kms_helper drm drm_panel_orientation_quirks snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm i2c_brcmstb snd_timer snd backlight [  800.234448] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.25+rpt-rpi-v8 #1  Debian 1:6.12.25-1+rpt1 [  800.244182] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT) [  800.250005] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [  800.256959] pc : v3d_job_update_stats+0x60/0x130 [v3d] [  800.262112] lr : v3d_job_update_stats+0x48/0x130 [v3d] [  800.267251] sp : ffffffc080003e60 [  800.270555] x29: ffffffc080003e60 x28: ffffffd842784980 x27: 0224012000000000 [  800.277687] x26: ffffffd84277f630 x25: ffffff81012fd800 x24: 0000000000000020 [  800.284818] x23: ffffff8040238b08 x22: 0000000000000570 x21: 0000000000000158 [  800.291948] x20: 0000000000000000 x19: ffffff8040238000 x18: 0000000000000000 [  800.299078] x17: ffffffa8c1bd2000 x16: ffffffc080000000 x15: 0000000000000000 [  800.306208] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [  800.313338] x11: 0000000000000040 x10: 0000000000001a40 x9 : ffffffd83b39757c [  800.320468] x8 : ffffffd842786420 x7 : 7fffffffffffffff x6 : 0000000000ef32b0 [  800.327598] x5 : 00ffffffffffffff x4 : 0000000000000015 x3 : ffffffd842784980 [  800.334728] x2 : 0000000000000004 x1 : 0000000000010002 x0 : 000000ba4c0ca382 [  800.341859] Call trace: [  800.344294]  v3d_job_update_stats+0x60/0x130 [v3d] [  800.349086]  v3d_irq+0x124/0x2e0 [v3d] [  800.352835]  __handle_irq_event_percpu+0x58/0x218 [  800.357539]  handle_irq_event+0x54/0xb8 [  800.361369]  handle_fasteoi_irq+0xac/0x240 [  800.365458]  handle_irq_desc+0x48/0x68 [  800.369200]  generic_handle_domain_irq+0x24/0x38 [  800.373810]  gic_handle_irq+0x48/0xd8 [  800.377464]  call_on_irq_stack+0x24/0x58 [  800.381379]  do_interrupt_handler+0x88/0x98 [  800.385554]  el1_interrupt+0x34/0x68 [  800.389123]  el1h_64_irq_handler+0x18/0x28 [  800.393211]  el1h_64_irq+0x64/0x68 [  800.396603]  default_idle_call+0x3c/0x168 [  800.400606]  do_idle+0x1fc/0x230 [  800.403827]  cpu_startup_entry+0x40/0x50 [  800.407742]  rest_init+0xe4/0xf0 [  800.410962]  start_kernel+0x5e8/0x790 [  800.414616]  __primary_switched+0x80/0x90 [  800.418622] Code: 8b170277 8b160296 11000421 b9000861 (b9401ac1) [  800.424707] ---[ end trace 0000000000000000 ]--- [  800.457313] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---  This issue happens when the file descriptor is closed before the jobs submitted by it are completed. When the job completes, we update the global GPU stats and the per-fd GPU stats, which are exposed through fdinfo. If the file descriptor was closed, then the struct `v3d_file_priv` and its stats were already freed and we can't update the per-fd stats.  Therefore, if the file descriptor was already closed, don't u ---truncated---

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | dtb-aarch64 opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-64kb opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-64kb sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-64kb sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-azure sles 15.7 | 6.4.0-150700.20.11.1 | [SUSE-SU-2025:03011-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-03011-1.md) | Aug 28, 2025 |
| Linux | kernel-default opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-default sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-default sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-default-base opensuse-leap 16.0 | 6.12.0-160000.6.1.160000.2.4 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-default-base sles 15.7 | 6.4.0-150700.53.11.1.150700.17.9.4 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-default-base sles 16.0 | 6.12.0-160000.6.1.160000.2.4 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-docs opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-docs sles 15.7 | 6.4.0-150700.53.11.3 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-docs sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-kvmsmall opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-kvmsmall sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-livepatch-SLE15-SP7-RT_Update_3 sles 15.7 | 1-150700.1.5.1 | [SUSE-SU-2025:02853-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02853-1.md) | Aug 18, 2025 |
| Linux | kernel-livepatch-SLE15-SP7_Update_3 sles 15.7 | 1-150700.15.3.4 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-obs-build opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-obs-build sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-obs-qa opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-obs-qa sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-rt opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-source opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-source sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-source sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-source-azure sles 15.7 | 6.4.0-150700.20.11.1 | [SUSE-SU-2025:03011-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-03011-1.md) | Aug 28, 2025 |
| Linux | kernel-syms opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-syms sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-syms sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | kernel-syms-azure sles 15.7 | 6.4.0-150700.20.11.1 | [SUSE-SU-2025:03011-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-03011-1.md) | Aug 28, 2025 |
| Linux | kernel-zfcpdump opensuse-leap 16.0 | 6.12.0-160000.6.1 | [OPENSUSE-SU-2025:20081-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2025-20081-1.md) | Nov 25, 2025 |
| Linux | kernel-zfcpdump sles 15.7 | 6.4.0-150700.53.11.1 | [SUSE-SU-2025:02997-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-02997-1.md) | Aug 27, 2025 |
| Linux | kernel-zfcpdump sles 16.0 | 6.12.0-160000.6.1 | [SUSE-SU-2025:21139-1](https://patchblox.com/security/data/fix/linux/suse-su-2025-21139-1.md) | Nov 25, 2025 |
| Linux | linux Debian 13.5 (trixie) | 6.12.35-1 | [DEBIAN-CVE-2025-38189](https://patchblox.com/security/data/fix/linux/debian-cve-2025-38189.md) | Jul 4, 2025 |
| Linux | linux Debian 14 | 6.12.35-1 | [DEBIAN-CVE-2025-38189](https://patchblox.com/security/data/fix/linux/debian-cve-2025-38189.md) | Jul 4, 2025 |

---

Data as of 2026-11-08T19:12:23Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
