LockDoc: Trace-based analysis of locking in the linux kernel
Autor(en): | Lochmann, A. Schirmeier, H. Borghorst, H. Spinczyk, O. |
Stichwörter: | Data structures; Locks (fasteners), Concurrency bugs; Execution trace; Fine grained; Kernel threads; Linux kernel; Locking mechanism; Rule violation; Source codes, Linux | Erscheinungsdatum: | 2019 | Herausgeber: | Association for Computing Machinery, Inc | Journal: | Proceedings of the 14th EuroSys Conference 2019 | Zusammenfassung: | For fine-grained synchronization of application and kernel threads, the Linux kernel provides a multitude of different locking mechanisms that are being used on various individually locked data structures. Understanding which locks are required in which order for a particular member variable of a kernel data structure has become truly difficult, even for Linux-kernel experts themselves. In this paper we introduce LockDoc – an approach that, based on the analysis of execution traces of an instrumented Linux kernel, automatically deduces the most likely locking rule for all members of arbitrary kernel data structures. From these locking rules, LockDoc generates documentation that supports kernel developers and helps avoiding concurrency bugs. Additionally, the (very limited) existing documentation can be verified, and locking-rule violations – potential bugs in the kernel code – can be found. Our results include generated locking rules for previously predominantly undocumented member variables of 11 different Linux-kernel data structures. Manually inspecting the scarce source-code documentation for five of these data structures reveals that only 53 percent of the variables with a documented locking rule are actually consistently accessed with the required locks held. This indicates possible documentation or synchronization bugs in the Linux kernel, of which one has already been confirmed by kernel experts. © 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM. |
Beschreibung: | Conference of 14th European Conference on Computer Systems, EuroSys 2019 ; Conference Date: 25 March 2019 Through 28 March 2019; Conference Code:146334 |
ISBN: | 9781450362818 | DOI: | 10.1145/3302424.3303948 | Externe URL: | https://www.scopus.com/inward/record.uri?eid=2-s2.0-85063871863&doi=10.1145%2f3302424.3303948&partnerID=40&md5=2bb1137b3cbb1bf2f5c9529c90a39779 |
Zur Langanzeige
Seitenaufrufe
13
Letzte Woche
0
0
Letzter Monat
0
0
geprüft am 19.05.2024