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---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | No solution existsUpgrade linux | Jul 7, 2025 | Jul 4, 2025 |
| Suse | — | Upgrade dtb-nvidiaUpgrade dtb-rockchipUpgrade dtb-socionextUpgrade kernel-rt-livepatchUpgrade dtb-renesasUpgrade kernel-develUpgrade kernel-default-baseUpgrade kernel-rt-extraUpgrade dtb-sprdUpgrade kernel-azure-develUpgrade kernel-rt-optionalUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade dtb-allwinnerUpgrade dtb-armUpgrade dtb-mediatekUpgrade kernel-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-rt-develUpgrade reiserfs-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-defaultUpgrade dtb-qcomUpgrade kernel-docsUpgrade kselftests-kmp-rtUpgrade kernel-azureUpgrade kernel-64kb-extraUpgrade dlm-kmp-defaultUpgrade dtb-caviumUpgrade gfs2-kmp-rtUpgrade dtb-marvellUpgrade kernel-docs-htmlUpgrade dtb-exynosUpgrade dtb-broadcomUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-default-livepatchUpgrade kernel-default-develUpgrade dtb-amlogicUpgrade kernel-zfcpdumpUpgrade kernel-symsUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-develUpgrade dtb-amazonUpgrade dlm-kmp-64kbUpgrade kernel-macrosUpgrade kernel-default-extraUpgrade dtb-hisiliconUpgrade ocfs2-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-source-azureUpgrade kernel-64kb-develUpgrade kernel-rtUpgrade kernel-devel-azureUpgrade kernel-default-vdsoUpgrade dtb-lgUpgrade kernel-obs-qaUpgrade dtb-alteraUpgrade kernel-sourceUpgrade gfs2-kmp-64kbUpgrade dtb-xilinxUpgrade dtb-appleUpgrade dtb-apmUpgrade kernel-default-optionalUpgrade kernel-64kbUpgrade dtb-freescaleUpgrade dtb-amdUpgrade kernel-kvmsmall | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-generic-64k-6.14Upgrade linux-image-gcpUpgrade linux-image-oracle-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-aws-6.14Upgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-aws-64k-6.14Upgrade linux-image-oem-24.04cUpgrade linux-image-oracle-6.14Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-oem-6.14Upgrade linux-image-oem-24.04bUpgrade linux-image-azureUpgrade linux-image-oracleUpgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-awsUpgrade linux-image-virtual-6.14Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-raspiUpgrade linux-image-generic-6.14Upgrade linux-image-azure-nvidia-6.14Upgrade linux-image-realtime-6.14Upgrade linux-image-genericUpgrade linux-image-6.14.0-34-genericUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-realtimeUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-azure-6.14Upgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-6.14.0-1014-oemUpgrade linux-image-virtualUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-64kUpgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-raspi-6.14Upgrade linux-image-6.14.0-1014-azureUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-gcp-6.14 | Jul 9, 2025 | Jul 4, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub