diff options
Diffstat (limited to 'kernel/main.c')
| -rw-r--r-- | kernel/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c index 52bd10a..c150a1a 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2827,6 +2827,16 @@ module_param_named(sema_copy_dst_pin_guard, gsp_sema_copy_dst_pin_guard, bool, 0 MODULE_PARM_DESC(sema_copy_dst_pin_guard, "hold device-dst copies without a pin-resolved translation (default 1)"); /* + * r231 READ-ORDER guard: defer a device-src copy whose source VA has a + * pending device-dst write hold so the read re-decodes after the write + * resolves (fixes the ctaid_probe RAWA upload/readback inversion). + * Default 0: witness only (READ-ORDER-WIT). Opt-in pending an A/B proving + * no green regression. + */ +module_param_named(sema_read_order_guard, gsp_sema_read_order_guard, bool, 0644); +MODULE_PARM_DESC(sema_read_order_guard, "defer device-src reads of a VA with a pending held device-dst write (default 0: witness only)"); + +/* * COPYWIT fail4 (2026-10-18): per-boot budget for the sema-bigcopy resolution * witnesses. svc_copy's large-copy proof logs both operands' resolved * VA -> pa/aperture/provenance, which is the read side of the client data |
