24-28 August 2020
US/Pacific timezone

Understanding Linux Lists

25 Aug 2020, 07:10
Microconference2/Virtual-Room (LPC 2020)


LPC 2020

Kernel Dependability & Assurance MC Kernel Dependability & Assurance MC


Julia Lawall (Inria) Nic Volanschi (Inira)


Understanding the Linux kernel source code requires understanding the role played by different entities. An interesting example is the case of structures of type list_head. Some are actually heads of lists. Others are inlined inside of list elements. Documentation about which are which, and which heads are connected to which elements, is not systematic. We have developed a tool, Liliput, that takes into account how list_head structures are used to reconstruct this information. We have used the tool to find a few bugs, as well as to uncover some interesting list programming paradigms.

I agree to abide by the anti-harassment policy I agree

Primary authors

Presentation Materials