Skip to main content

in_guest_guard_router_installed

Function in_guest_guard_router_installed 

Source
pub const fn in_guest_guard_router_installed(
    config: &DetConfig,
    backend: Backend,
) -> bool
Expand description

Whether LiteInst’s SIGTRAP guard router can be installed in the in-guest Tool images of a default-route run of backend configured by config: on an in-guest backend, unless every image runs with syscall site patching off (config.in_guest_site_patching_off, set for --backend=in-guest-trap).

At the pinned Reverie, the shared Tool host’s preparation (LiteinstPatchHost::prepare_patcher, reverie-liteinst src/runtime.rs) installs the router only when the site-patching setting its runtime captured is on: the router takes the breakpoints LiteInst plants while it publishes a patched site, and with patching off it publishes none (A5 step 3c slice 0c). Every in-guest-trap image checks that its runtime captured patching off and refuses to run otherwise (detcore::in_guest_site_patching), so no image of such a run executes guest code with the router. On --backend=liteinst Hermit leaves the setting to the guest’s environment, so an image can run with patching off and no router; the answer is then true all the same, which reserves SIGTRAP where it is not needed: a refusal Linux would not make, never a missed one. The loader route (Reverie’s private-image installer) keeps the router whatever its setting, and never calls this (D26).