Microreboot is an attractive technique for recovering an application
after a non-malicious failure or deliberate integrity breach even in
cases where the precise cause of the failure or breach are not known.
Unfortunately, Microreboot functionality has so far been demonstrated
only with Java applications meeting a set of peculiar Crash-only
architectural requirements. This report describes a method of using
Software Fault Isolation techniques to meet some of these
architectural requirements in C programs, thereby taking a first step
towards making Microreboot available for retrofit in legacy C
applications