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 | — | Upgrade linux | Jul 7, 2025 | Jul 4, 2025 |
| Suse | — | Upgrade dtb-amazonUpgrade kernel-macrosUpgrade dtb-apmUpgrade kernel-syms-azureUpgrade dtb-alteraUpgrade dtb-xilinxUpgrade dlm-kmp-64kbUpgrade kernel-64kb-develUpgrade kernel-default-vdsoUpgrade kernel-rtUpgrade kernel-sourceUpgrade dtb-exynosUpgrade dtb-marvellUpgrade kernel-devel-azureUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade dtb-freescaleUpgrade dtb-amdUpgrade dtb-lgUpgrade kernel-default-optionalUpgrade cluster-md-kmp-defaultUpgrade dtb-appleUpgrade gfs2-kmp-rtUpgrade kernel-docs-htmlUpgrade kernel-64kbUpgrade kernel-obs-qaUpgrade ocfs2-kmp-rtUpgrade dtb-hisiliconUpgrade kernel-kvmsmallUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-default-extraUpgrade kernel-default-livepatchUpgrade kernel-symsUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade ocfs2-kmp-64kbUpgrade dtb-amlogicUpgrade kernel-default-develUpgrade dtb-broadcomUpgrade kselftests-kmp-defaultUpgrade kernel-azure-develUpgrade kernel-default-baseUpgrade kernel-default-livepatch-develUpgrade dtb-caviumUpgrade dtb-nvidiaUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-develUpgrade kernel-azureUpgrade kernel-source-vanillaUpgrade kernel-defaultUpgrade dtb-qcomUpgrade kernel-rt-vdsoUpgrade dtb-sprdUpgrade reiserfs-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-kvmsmall-vdsoUpgrade dtb-renesasUpgrade kernel-64kb-extraUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade gfs2-kmp-defaultUpgrade dtb-mediatekUpgrade dtb-armUpgrade dtb-allwinnerUpgrade cluster-md-kmp-rtUpgrade kernel-obs-buildUpgrade kernel-rt-optionalUpgrade kernel-rt-extraUpgrade kernel-rt-livepatchUpgrade kernel-docsUpgrade dlm-kmp-rtUpgrade dtb-socionextUpgrade dtb-rockchip | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-oem-24.04bUpgrade linux-image-oracle-6.14Upgrade linux-image-raspiUpgrade linux-image-aws-64k-6.14Upgrade linux-image-azure-nvidiaUpgrade linux-image-azureUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-nvidia-6.14Upgrade linux-image-oem-6.14Upgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-oem-24.04cUpgrade linux-image-oracleUpgrade linux-image-generic-6.14Upgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-6.14.0-1015-awsUpgrade linux-image-aws-6.14Upgrade linux-image-virtual-6.14Upgrade linux-image-oracle-64kUpgrade linux-image-awsUpgrade linux-image-gcpUpgrade linux-image-generic-64k-6.14Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-realtimeUpgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-raspi-6.14Upgrade linux-image-realtime-6.14Upgrade linux-image-6.14.0-1014-azureUpgrade linux-image-azure-6.14Upgrade linux-image-aws-64kUpgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-oem-24.04aUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-gcp-6.14Upgrade linux-image-6.14.0-34-genericUpgrade linux-image-genericUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1014-oemUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-generic-64kUpgrade linux-image-6.14.0-1016-raspi | Jul 9, 2025 | Jul 4, 2025 |
Prioritize 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