summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_comm.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 12:37:39 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 12:37:39 -0400
commit04c6190ed1c63fd69ea97c0ee1c9ff488d8b9202 (patch)
tree85fc7443dddc20343297968672c65309f27da658 /kernel/gsp_comm.c
parentf476a6ea431f39560d69d6129f3167d8c55ecb6d (diff)
downloadopen-iov-04c6190ed1c63fd69ea97c0ee1c9ff488d8b9202.tar.gz
open-iov-04c6190ed1c63fd69ea97c0ee1c9ff488d8b9202.zip
vgsp-sema: keep displaced injected pins and fan pool releases out to them (ISSUE-0002)
Two host tools can inject conflicting PAs for the same pool-semaphore VA page; the pin table is one entry per page, so the later store won and the release written through the loser was invisible while the client polled the winner forever (observed r22/r24: fresh va=0x121000000 -> pa matched the client pagemap; a later stale pair overwrote it, the single release write landed on the stale page, and the second client spun in UVM registration). Remember the displaced pair and write the release to it as well: forward-only and read-back proven, best effort, sequential clients only (documented in the helper).
Diffstat (limited to 'kernel/gsp_comm.c')
0 files changed, 0 insertions, 0 deletions