
A közelmúltban Kernel Stack Watch (KSW) néven új, könnyű súlyú hibakereső eszközt javasoltak a Linux kernel számára, amely a kernel stack sérüléseit képes valós időben felismerni. A fejlesztést Jinchao Wang jelentette be, aki részletesen ismertette a javasolt patch-sorozatot. A Kernel Stack Watch célja, hogy észlelje azokat a hibákat, amelyek egy függvényen belül történnek, de csak később, egy másik függvényben okoznak összeomlást, gyakran közvetlen hívási nyom nélkül. Ezek a problémák a meglévő eszközökkel nehezen reprodukálhatók és lokalizálhatók. A KSW a hardveres breakpointokat kombinálja a kprobes/kretprobes mechanizmusokkal, így képes egy stack canary vagy egy kiválasztott lokális változó figyelésére, és pontosan detektálni a sérülés pillanatát. Ennek köszönhetően a fejlesztők közvetlenül a hibaforrást találhatják meg, nem csak a végső összeomlást.
A legfontosabb jellemzők:
- Könnyű súlyú kialakítás, minimális hatással a hiba reprodukálhatóságára
- Valós idejű stack-sérülés detektálás
- Egyszerű konfiguráció a /proc/kstackwatch interfészen keresztül
- Támogatja a rekurzív függvényeket, konfigurálható mélységgel
A fejlesztő tesztmodulokat és szkripteket is készített a sérüléses szcenáriók szimulálására, így az eszköz kipróbálása és validálása is egyszerűbb. A cél, hogy ezek a valós idejű figyelmeztetések már az összeomlás előtt lehetővé tegyék a beavatkozást, és gyorsabban feltárják a Linux kernel stabilitási problémáit.
A Kernel Stack Watch patch-sorozat részletei elérhetők az LKML levelezésben
