diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 14:59:41 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 14:59:41 -0400 |
| commit | 12c52b35252d8f46db1b7294ec8439530e4b71b9 (patch) | |
| tree | 99545bf50ec44231a6f23a694ecde354937480b8 /kernel/gsp_phys_booter.h | |
| parent | 088fa8f3e854ff33fe2d1188d2d237942956b918 (diff) | |
| download | open-iov-12c52b35252d8f46db1b7294ec8439530e4b71b9.tar.gz open-iov-12c52b35252d8f46db1b7294ec8439530e4b71b9.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_booter.h')
0 files changed, 0 insertions, 0 deletions
