Title
Guardrail: a high fidelity approach to protecting hardware devices from buggy drivers
Abstract
Device drivers are an Achilles' heel of modern commodity operating systems, accounting for far too many system failures. Previous work on driver reliability has focused on protecting the kernel from unsafe driver side-effects by interposing an invariant-checking layer at the driver interface, but otherwise treating the driver as a black box. In this paper, we propose and evaluate Guardrail, which is a more powerful framework for run-time driver analysis that performs decoupled instruction-grain dynamic correctness checking on arbitrary kernel-mode drivers as they execute, thereby enabling the system to detect and mitigate more challenging correctness bugs (e.g., data races, uninitialized memory accesses) that cannot be detected by today's fault isolation techniques. Our evaluation of Guardrail shows that it can find serious data races, memory faults, and DMA faults in native Linux drivers that required fixes, including previously unknown bugs. Also, with hardware logging support, Guardrail can be used for online protection of persistent device state from driver bugs with at most 10% overhead on the end-to-end performance of most standard I/O workloads.
Year
DOI
Venue
2014
10.1145/2654822.2541970
Special Interest Group on Computer Architecture
Keywords
DocType
Volume
device drivers,dynamic analysis
Conference
42
Issue
ISSN
Citations 
1
0163-5964
1
PageRank 
References 
Authors
0.35
38
4
Name
Order
Citations
PageRank
Olatunji Ruwase116714.40
Michael A. Kozuch2178282.65
Phillip B. Gibbons36863624.14
Todd C. Mowry43021253.75