Presented by

  • Gustavo A. R. Silva

    Gustavo A. R. Silva
    @embeddedgus
    https://embeddedor.com/blog/

    Gustavo A. R. Silva works full-time as an Upstream Linux Kernel Engineer focused on security. Over the past several years, he’s been hunting and fixing all sorts of bugs and issues in the Linux kernel. Gustavo’s kernel work is supported by The Linux Foundation, and he is a member of the Kernel Self-Protection Project. He is a regular speaker at Kernel Recipes and has also presented his work at conferences such as the Linux Security Summit, LinuxCon and Linux Plumbers. Additionally, Gustavo has been an invited speaker at SSTIC.

Abstract

The introduction of the new -Wflex-array-member-not-at-end compiler option, released in GCC-14, has revealed approximately 60,000 warnings in the Linux kernel. Among them, some legitimate bugs have been uncovered. In this presentation, we will explore in detail the different strategies we are employing to resolve all these warnings. These methods have already helped us resolve about 30% of them. Our ultimate goal in the Kernel Self-Protection Project is to globally enable this option in mainline, further enhancing the security of the upstream Linux kernel in the spatial safety domain. Additionally, we will briefly review the recent history of hardening efforts that have led to the unveiling of these tens of thousands of warnings. This process illustrates the extensive and gradual nature of hardening the kernel, highlighting the challenges and persistence required to enhance its security. Looking ahead, after enabling this compiler option in mainline, I will briefly discuss the next challenge the Kernel Self-Protection Project will likely focus on.