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 | f21a5e7b83c13ad0d7b9b23693fd0d122eace409 (patch) | |
| tree | b026b833f8000383655de8af47a9e70a80451bae /userspace/tests/test_vgpu_userspace.c | |
| parent | f5ee072aa3ea42f67eb5df20b1b3d71c19829368 (diff) | |
| download | open-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 'userspace/tests/test_vgpu_userspace.c')
0 files changed, 0 insertions, 0 deletions
