Linux kernel oops is invoked when the kernel detects an erroneous state inside itself. It kills an offending process and allows Linux to continue its operation under a compromised reliability. We investigate how reliable Linux is after a kernel oops in this paper. To investigate the reliability after a kernel oops, we analyze the scope of error propagation through an experimental campaign of fault injection in Linux 2.6.38. The error propagation scope is process-local if an error is confined in the process context that activated it, while the scope is kernel-global if an error propagates to other processes' contexts or global data structures. If the scope is process-local, Linux can be reliable even after a kernel oops. Our findings are twofold. First, the error propagation scope is mostly process-local. Thus, Linux remains consistent after a kernel oops in most cases. Second, Linux stops its execution before accessing inconsistent states when kernelglobal errors occur because synchronization primitives prevent the inconsistent states from being accessed by other processes.
|出版ステータス||Published - 2012|
|イベント||8th Workshop on Hot Topics in System Dependability, HotDep 2012 - Hollywood, United States|
継続期間: 2012 10 7 → …
|Conference||8th Workshop on Hot Topics in System Dependability, HotDep 2012|
|Period||12/10/7 → …|
ASJC Scopus subject areas