CVE-2026-98522: drm/imagination: Propagate map failures correctly from pvr_mmu_map_sgl()

Published Oct 18, 2026
·
Updated

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

drm/imagination: Propagate map failures correctly from pvrmmumapsgl()

Map failure from pvrmmumapsgl() interface was not returned correctly to pvrmmumap() interface. This resulted in pvrmmumap() interface to continue instead of returning an error to caller. Fix it by returning a proper error code from pvrmmumapsgl() interface.

Call stack for crash: [ 1179.286237] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 [ 1179.295067] Mem abort info: [ 1179.297877] ESR = 0x0000000096000004 [ 1179.301656] EC = 0x25: DABT (current EL), IL = 32 bits [ 1179.306987] SET = 0, FnV = 0 [ 1179.310048] EA = 0, S1PTW = 0 [ 1179.313198] FSC = 0x04: level 0 translation fault [ 1179.318096] Data abort info: [ 1179.320993] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 1179.326483] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 1179.331546] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 1179.336895] user pgtable: 4k pages, 48-bit VAs, pgdp=000000009822a000 [ 1179.343402] [0000000000000008] pgd=0000000000000000, p4d=0000000000000000 [ 1179.350243] Internal error: Oops: 0000000096000004 [#2] SMP [ 1179.355908] Modules linked in: powervr gpusched drmshmemhelper drmgpuvm drmexec xhciplathcd xhcihcd dwc3 usbcore usbcommon sndsocsimplecard sndsocsimplecardutils dwc3am62 at24 sa2ul sha512 libsha512 sha256 authenc schfqcodel fuse dmmod ipv6 [ 1179.378992] CPU: 1 UID: 1000 PID: 680 Comm: deqp-vk Tainted: G D 6.17.0 #1 PREEMPT [ 1179.388120] Tainted: [D]=DIE [ 1179.390994] Hardware name: Texas Instruments AM625 SK (DT) [ 1179.396467] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1179.403415] pc : pvrmmuopcontextunmapcurrpage+0x6c/0x134 [powervr] [ 1179.410140] lr : pvrmmuopcontextunmapcurrpage+0x58/0x134 [powervr] [ 1179.416848] sp : ffff8000839ab8c0 [ 1179.420153] x29: ffff8000839ab8c0 x28: 0000000000000001 x27: 000000008f386000 [ 1179.427283] x26: ffff000016d1df98 x25: 0000000000247000 x24: 00000000000001e6 [ 1179.434413] x23: 0000000000000002 x22: 000000000000ffff x21: 0000000000000247 [ 1179.441540] x20: 0000000000000245 x19: ffff000016d1df60 x18: 0000000000000002 [ 1179.448668] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000001 [ 1179.455793] x14: 0000000000060810 x13: ffff80007fffffff x12: ffff000004190480 [ 1179.462921] x11: ffff8000853f7000 x10: ffff8000811ae000 x9 : ffff0000041900b8 [ 1179.470051] x8 : 0000000000000000 x7 : 00000000990c4001 x6 : 0000000000000007 [ 1179.477177] x5 : ffff000016d1df60 x4 : 0000000000000000 x3 : ffff00000a7d8000 [ 1179.484306] x2 : 00000000000001ff x1 : 0000000000000000 x0 : 0000000000000000 [ 1179.491433] Call trace: [ 1179.493872] pvrmmuopcontextunmapcurrpage+0x6c/0x134 [powervr] (P) [ 1179.500582] pvrmmumap+0x31c/0x388 [powervr] [ 1179.505027] pvrvmgpuvamap+0x40/0x88 [powervr] [ 1179.509732] drmgpuvmsmmap+0x250/0x44c [drmgpuvm] [ 1179.514952] drmgpuvmsmmap+0x48/0x5c [drmgpuvm] [ 1179.519822] pvrvmbindopexec+0x64/0x70 [powervr] [ 1179.524785] pvrvmmap+0x1f8/0x2a8 [powervr] [ 1179.529142] pvrioctlvmmap+0x12c/0x188 [powervr] [ 1179.534018] drmioctlkernel+0xb8/0x128 [ 1179.537941] drmioctl+0x21c/0x4ec [ 1179.541337] arm64sysioctl+0xac/0x108 [ 1179.545344] invokesyscall+0x44/0x100 [ 1179.549091] el0svccommon.constprop.0+0x40/0xe0 [ 1179.553790] doel0svc+0x1c/0x28 [ 1179.557106] el0svc+0x34/0xf0 [ 1179.560159] el0t64synchandler+0xd0/0xe4 [ 1179.564334] el0t64sync+0x198/0x19c [ 1179.567996] Code: 54000300 35000360 f9402261 79409a62 (f9400421) [ 1179.574081] ---[ end trace 0000000000000000 ]---

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Modify pvr_mmu_map_sgl() to return a proper error code when mapping fails, and propagate that failure through the pvr_mmu_map() interface instead of continuing.

Event History

Oct 18, 2026
CVE Published
via MITRE·03:17 PM
Data Sourced
via MITRE·03:17 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203