summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-05 16:37:50 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-05 16:37:50 -0400
commit13a4473a7e86cef4283f3e3a1e0e6d29b3ef84e6 (patch)
tree5d2b57f4e7e671f59c83eca320bf69fffe51b677 /kernel/gsp_phys_gpu.c
parentcc1028dffcbf9e028938555827f02b18ceba1665 (diff)
downloadopen-iov-13a4473a7e86cef4283f3e3a1e0e6d29b3ef84e6.tar.gz
open-iov-13a4473a7e86cef4283f3e3a1e0e6d29b3ef84e6.zip
vgsp: fix host crash in FWCLIENT promote order (MAIN first, non-MAIN after)
The 2026-10-05 16:05 crasher sent an accepted non-MAIN PROMOTE_CTX (PM/PATCH/FECS/PRIV/UNR) before a MAIN control that failed 0x40; the writing task then Oopsed in vma_interval_tree_remove with a corrupted VMA rbtree and module list (host kernel memory corruption). Restore the reference order (kgrobjGetPromoteIds_FWCLIENT: MAIN first) and make MAIN-alone the abort point: GPU_INITIALIZE_CTX (mask bit7) then the single-entry MAIN promote; build and send the non-MAIN entries only after MAIN commits (or when MAIN is deselected). The previous accepted-non-MAIN-before-failing-MAIN order is forbidden. Build is unchanged otherwise; mask 0xbf now reproduces the proven-clean mask-0x81 shape when MAIN hits the memdesc gate.
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
0 files changed, 0 insertions, 0 deletions