Az egyik A KernelMemorySanitizer (KMSAN) Linux javítássorozat, amely évek óta készül a Clang fordítóoldali változtatásokkal összefüggésben, és már most is felelős több száz kernelhibáért. Ma kiküldték a legújabb javítássorozatot, amely a kernel infrastruktúráján dolgozik az inicializálatlan memóriaproblémák kiküszöbölésére.
A KernelMemorySanitizer az inicializálatlan memóriahasználattal kapcsolatos hibák keresésére szolgál, és a fordítási idejű LLVM/Clang műszerezésre támaszkodik. A Clang KMSAN kód 2018-ra nyúlik vissza, és az elmúlt néhány évben számos javítási sorozat volt a KMSAN kernel infrastruktúrájához.
A Google munkatársa, Alexander Potapenko ma elküldte a legújabb javítássorozatot ehhez a kernelinfrastruktúrához. Még akkor is, ha még nem szerepel a főoldalon, a KMSAN több száz jogos kernelproblémát tudott feltárni. Potapenko megjegyezte:”A KMSAN több mint 300 hibát jelentett az elmúlt években, ezek többsége a syzkaller segítségével. Az ilyen hibák az új fordítói figyelmeztetések és egyéb elemzések ellenére folyamatosan kerülnek be a kernelbe (az 5.16-os ciklus már több KMSAN-t eredményezett-jelentett hibák). Az olyan enyhítések, mint a teljes verem és a kupac inicializálása, sajnos nagyon távol állnak attól, hogy telepíthetőek legyenek. A javasolt javításkészlet tartalmazza a KMSAN futásidejű implementációját, valamint a KMSAN működéséhez szükséges egyéb alrendszerek apró módosításait.”
A KMSAN által nemrégiben feltárt hibák megtalálhatók a syzboton az érdeklődőknek.
A kernel infrastruktúra jelenleg több mint négyezer sornyi új kódból áll. Azok, akik szeretnének többet megtudni a KMSAN legújabb munkáiról, a thekernel2email címen tehetik meg lista.
Létezik ez a 2020-as bemutató is a> (PDF) – Alexander Potapenko a KernelMemorySanitizeren.