From 419615dc4e1fa5e9c2b4e0d15a0df94ca163a09b Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Fri, 16 Oct 2026 22:03:28 -0400 Subject: vgsp: m169 stale device-destination guard (device-dst copies translated only by walk/RAM-scan are held until a pin confirms; r172 streams2_diag stream-1 H2D wrote through a stale walk entry while the launch read the true page) + session-scope the op-trace budget + bigcopy witness covers device-dst copies >=64KB --- kernel/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index c4e4792..d2dc57a 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2788,6 +2788,15 @@ MODULE_PARM_DESC(sema_gr_nocap_hold_ms, "GR no-capture entry hold in ms (default module_param_named(sema_pool_hold_fresh, gsp_sema_pool_hold_fresh, bool, 0644); MODULE_PARM_DESC(sema_pool_hold_fresh, "apply pool releases at fresh-pin time instead of registration+5s (default 1)"); +/* + * m169 (AGENT-F R1): hold device-destination copies translated only by a + * page-directory walk until a pin confirms (default on). A wrong-but-valid + * stale table entry silently writes the wrong vidmem page; the hold lets + * the m163 retry path re-resolve with pins. + */ +module_param_named(sema_copy_dst_pin_guard, gsp_sema_copy_dst_pin_guard, bool, 0644); +MODULE_PARM_DESC(sema_copy_dst_pin_guard, "hold device-dst copies without a pin-resolved translation (default 1)"); + /* * Debug: inject a verified {GPU VA -> guest PA} translation into the * semaphore service (used when the client's mapping cannot be discovered -- cgit v1.2.3