summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_vbios.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 14:59:41 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 14:59:41 -0400
commitf21a5e7b83c13ad0d7b9b23693fd0d122eace409 (patch)
treeb026b833f8000383655de8af47a9e70a80451bae /kernel/gsp_phys_vbios.c
parentf5ee072aa3ea42f67eb5df20b1b3d71c19829368 (diff)
downloadopen-iov-f21a5e7b83c13ad0d7b9b23693fd0d122eace409.tar.gz
open-iov-f21a5e7b83c13ad0d7b9b23693fd0d122eace409.zip
vgsp-sema: CE USERD is layout-only; never latch the registered stale block (ISSUE-0002)
The pump calls svc_chan_userd before the ring is pinned; the old candidate list then accepted the registered pool-relative userdMem offset (stale cross-session 1/1) and userd_ok froze it for the session (r42 c2 rank0 userd=0xf0000 while the layout block 0x90000 is the one the guest writes). For CE channels: wait for the ring, validate its entry0 (a CE push VA + len), then accept the layout USERD at ring+0x10000 even while idle; anything else returns -ENOENT so the next pass retries. Registered-offset candidates remain for non-CE channels.
Diffstat (limited to 'kernel/gsp_phys_vbios.c')
0 files changed, 0 insertions, 0 deletions