CVE-2025-38371

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38371
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38371.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38371
Downstream
Related
Published
2025-07-25T12:53:14.292Z
Modified
2025-11-28T02:34:22.721703Z
Summary
drm/v3d: Disable interrupts before resetting the GPU
Details

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

drm/v3d: Disable interrupts before resetting the GPU

Currently, an interrupt can be triggered during a GPU reset, which can lead to GPU hangs and NULL pointer dereference in an interrupt context as shown in the following trace:

[ 314.035040] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000c0 [ 314.043822] Mem abort info: [ 314.046606] ESR = 0x0000000096000005 [ 314.050347] EC = 0x25: DABT (current EL), IL = 32 bits [ 314.055651] SET = 0, FnV = 0 [ 314.058695] EA = 0, S1PTW = 0 [ 314.061826] FSC = 0x05: level 1 translation fault [ 314.066694] Data abort info: [ 314.069564] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [ 314.075039] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 314.080080] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 314.085382] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000102728000 [ 314.091814] [00000000000000c0] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [ 314.100511] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 314.106770] Modules linked in: v3d i2cbrcmstb vc4 sndsochdmicodec gpusched drmshmemhelper drmdisplayhelper cec drmdmahelper drmkmshelper drm drmpanelorientationquirks sndsoccore sndcompress sndpcmdmaengine sndpcm sndtimer snd backlight [ 314.129654] 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 [ 314.139388] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT) [ 314.145211] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 314.152165] pc : v3dirq+0xec/0x2e0 [v3d] [ 314.156187] lr : v3dirq+0xe0/0x2e0 [v3d] [ 314.160198] sp : ffffffc080003ea0 [ 314.163502] x29: ffffffc080003ea0 x28: ffffffec1f184980 x27: 021202b000000000 [ 314.170633] x26: ffffffec1f17f630 x25: ffffff8101372000 x24: ffffffec1f17d9f0 [ 314.177764] x23: 000000000000002a x22: 000000000000002a x21: ffffff8103252000 [ 314.184895] x20: 0000000000000001 x19: 00000000deadbeef x18: 0000000000000000 [ 314.192026] x17: ffffff94e51d2000 x16: ffffffec1dac3cb0 x15: c306000000000000 [ 314.199156] x14: 0000000000000000 x13: b2fc982e03cc5168 x12: 0000000000000001 [ 314.206286] x11: ffffff8103f8bcc0 x10: ffffffec1f196868 x9 : ffffffec1dac3874 [ 314.213416] x8 : 0000000000000000 x7 : 0000000000042a3a x6 : ffffff810017a180 [ 314.220547] x5 : ffffffec1ebad400 x4 : ffffffec1ebad320 x3 : 00000000000bebeb [ 314.227677] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 [ 314.234807] Call trace: [ 314.237243] v3dirq+0xec/0x2e0 [v3d] [ 314.240906] _handleirqeventpercpu+0x58/0x218 [ 314.245609] handleirqevent+0x54/0xb8 [ 314.249439] handlefasteoiirq+0xac/0x240 [ 314.253527] handleirqdesc+0x48/0x68 [ 314.257269] generichandledomainirq+0x24/0x38 [ 314.261879] gichandleirq+0x48/0xd8 [ 314.265533] callonirqstack+0x24/0x58 [ 314.269448] dointerrupthandler+0x88/0x98 [ 314.273624] el1interrupt+0x34/0x68 [ 314.277193] el1h64irqhandler+0x18/0x28 [ 314.281281] el1h64irq+0x64/0x68 [ 314.284673] defaultidlecall+0x3c/0x168 [ 314.288675] doidle+0x1fc/0x230 [ 314.291895] cpustartupentry+0x3c/0x50 [ 314.295810] restinit+0xe4/0xf0 [ 314.299030] startkernel+0x5e8/0x790 [ 314.302684] _primaryswitched+0x80/0x90 [ 314.306691] Code: 940029eb 360ffc13 f9442ea0 52800001 (f9406017) [ 314.312775] ---[ end trace 0000000000000000 ]--- [ 314.317384] Kernel panic - not syncing: Oops: Fatal exception in interrupt [ 314.324249] SMP: stopping secondary CPUs [ 314.328167] Kernel Offset: 0x2b9da00000 from 0xffffffc080000000 [ 314.334076] PHYSOFFSET: 0x0 [ 314.336946] CPU features: 0x08,00002013,c0200000,0200421b [ 314.342337] Memory Limit: none [ 314.345382] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---

Before resetting the G ---truncated---

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38371.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
57692c94dcbe99a1e0444409a3da13fb3443562c
Fixed
b9c403d1236cecb10dd0246a30d81e4b265f8e8d
Fixed
2446e25e9246e0642a41d91cbf54c33b275da3c3
Fixed
576a6739e08ac06c67f2916f71204557232388b0
Fixed
c8851a6ab19d9f390677c42a3cc01ff9b2eb6241
Fixed
387da3b6d1a90e3210bc9a7fb56703bdad2ac18a
Fixed
9ff95ed0371aec4d9617e478e9c69cde86cd7c38
Fixed
dc805c927cd832bb8f790b756880ae6c769d5fbc
Fixed
226862f50a7a88e4e4de9abbf36c64d19acd6fd0

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.18.0
Fixed
5.4.296
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.240
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.187
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.144
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.97
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.37
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.15.6