summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_fwsec.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 11:33:57 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 11:33:57 -0400
commitbd029a10344e7cf27cf4bee123ca88ef84e73094 (patch)
tree9bc971743bf66285ab81ce80b651d305e04ab8ff /kernel/gsp_phys_fwsec.c
parent0cb2a7ee0c6300415e4265cabb1f3007b8519c58 (diff)
downloadopen-iov-bd029a10344e7cf27cf4bee123ca88ef84e73094.tar.gz
open-iov-bd029a10344e7cf27cf4bee123ca88ef84e73094.zip
vgsp-sema: multi-page content rescue pins a whole CE push from RAM content (ISSUE-0001)
svc_rescue_try() substitutes exactly one candidate page and requires every other page of the entry to resolve through svc_lookup_trusted(). For a multi-page push whose pages have no translations yet that precondition can never hold: the content scan finds the release-group page by content, but the pages that need a candidate are exactly the ones missing from every trusted source. That is the stalled-boot class named by SA-STALL (entry va=0x120021db8, len=12816, release #39; 17-host-m84-r1.txt:841-842), where the userspace pin stream was the only supplier of those translations. Add svc_rescue_run_try(): once content has anchored one page of the entry (release-group candidate from the matcher, or the verified window base), read every page of the entry directly from the same signed page delta in both physical directions, validate the assembled buffer exactly like the single-page rescue (full method-stream parse + the channel's exact next release), and only then pin every page of the run. A failed direction pins nothing; a passed validation is content proof for every page. Wire it into the svc_pb fast path, the hot-page scan and the descending RAM scan, ahead of the unchanged single-substitution try. This makes the pump able to consume a starved CE push with no watcher pins and no pre-existing per-page translations; the watchers become pure accelerators. New counter resc_run is printed when non-zero. Evidence: ISSUE-0001, SA-STALL 3.2/3.4; 17-host-m104-r1.txt entry[38] and 17-host-m84-r1.txt rescue rejects.
Diffstat (limited to 'kernel/gsp_phys_fwsec.c')
0 files changed, 0 insertions, 0 deletions