Nový WLAN subsystém v jádře -mm
Začátkem března byl do experimentální větve -mm Andrew Mortona zařazen nový subsystém bezdrátové sítě (WLAN) Devicescape 802.11 (intellinuxwireless.org/mac80211). Přechod na tento svobodný subsystém od společnosti Devicescape byl oznámen téměř před rokem na Wireless Networking Summitu 2006, kde bylo poukázáno na nevyhovující a neudržitelnou situaci, že nynější ovladače bezdrátových síťových zařízení využívají různý kód stávajících bezdrátových rozšíření (wireless extensions) „drátového“ síťování.
Dobře dokumentovaný subsystém, který byl přejmenován z d80211 na mac80211, se rychle vyvíjí a v blízké budoucnosti by mohl být zařazen do hlavního stromu jádra; vývojáři naznačují, že by to mohlo být ve verzi 2.6.22. To bude znamenat mnohá vylepšení na poli bezdrátového síťování, protože stávající nesourodý subsystém rozšíření byl udržován jen z nutnosti a bez vylepšování. Veškerá práce vývojářů se již odehrává právě v subsystému Devicescape, který slibuje věci jako lepší podporu WPA, softarovou MAC, přístupový bod openap a do budoucna potom QoS, přemostění (bridging), power management, lepší konfiguraci a mnohé další.
Nový subsystém již využívají některé nové nebo přepracované ovladače bezdrátových zařízení, Broadcom bcm43xx, Ralink rt2×00 nebo nový ovladač Intel iwlwifi (přejmenovaný ipw3945, intellinuxwireless.org/iwlwifi) pro karty Intel PRO/Wireless 3945ABG, který již nepotřebuje proprietární binární démon pro regulaci vysílacího výkonu (jeho funkcionalita je obsažena v novém binárním firmwaru). Tyto ovladače budou automaticky zařazeny do jádra spolu s novým bezdrátovým subsystémem. Uživatelé vývojových verzí distribucí Fedora a Ubuntu si ale mohou užívat nového bezdrátového subsystému a ovladačů již nyní.
Odložitelné časovače
Novinkou nadcházející verze jádra 2.6.21, o které by zprávička v minulém čísle, je dynamické časování jádra, které vypíná periodický časovač, pokud systém zrovna nemá nic na práci (idle time). To přináší mj. úsporu energie nebo třeba rychlejší běh virtualizovaných systémů.
Před vypnutím si jádro musí samozřejmě zjistit, kdy se má probudit, tj. kdy vyprší nejbližší časovač (pokud nenastanou jiné neočekávané události, např. přerušení od hardwaru). Většina časovačů musí být spuštěna co nejříve po vypršení času, některé ale naopak nejsou tak důležité, aby stálo za to kvůli nim probouzet procesor a systém. Stačí je spustit spolu s jiným, důležitějším, vypršeným časovačem. To skýtá další ušetření přerušování procesoru.
Tuto možnost přináší odložitelných časovačů Vendi Pallipadiho, který umožňuje sdělit jádru, že časovač nevyžaduje okamžitou akci po vypršení. Takové časovače nebudou uvažovány při rozhodování, kdy se má systém probudit. Samozřejmě, pokud je systém zaneprázdněn, jsou i tyto časovače spouštěny podle plánu. Jinak jsou ale spouštěny až po vypršení jiného, neodloženého, časovače. Tato funkcionalita časovačů se zatím týká jen jádra, ale v plánu je rozšíření i na uživatelské (user space) časovače. Existuje totiž spousta aplikací, které si periodicky zjišťují stav okolí. Tyto aplikace jsou problémem na systémech, na kterých je nutné šetřit energií a pomocí nových odložitelných časovačů by nemusely přerušovat celý systém, když se neděje nic důležitého.
Správa integrity
Koncem března se v LKML dostal na přetřes znovu po roce a půl kód správy integrity od IBM. Sice stále není připraven pro začlenění do jádra, ale vyvolává řadu palčivých otázek a potenciálních problémů, které nebude jednoduché vyřešit.
Základní myšlenkou správy integrity je poskytnutí jistoty, že soubory systému nebyly nějakým nekalým způsobem, např. útočníkem, pozměněny. Řešení od IBM nemá nahradit stávající systémy pro kontrolu přístupu k souborům, jako jsou SELinux nebo SLIM LSM moduly, ale má je doplnit. Tyto mechanismy totiž chrání běžící systém proti online útokům, ale nedokáží jej ochránit proti offline útokům jako třeba nabootování jiného systému (např. Knoppixu) a změně spustitelných souborů nebo značek SELinuxu nebo útokům zneužívajícím chybu v jádře nebo samotných LSM modulech.
Právě tuto ochranu má poskytovat řešení od IBM. Pro porovnání kontrolních součtů souborů a zejména ochranu samotných součtů se má používat šifrování TPM modulu vyskytujícího se v roustoucím počtu počítačů. Tento TPM modul by byl korektně nastaven, jen pokud jisté součty systému odpovídají přednastavených hodnotám. Kontrolní součty chráněné TPM by tak nemohly být změněny z jiného systému nebo změněným systémem. Řešení umožňuje také vzdálené ověření provozovaného softwaru třetí stranou poskytnutím pouze kontrolních součtů podepsaných TPM.
Výhoda řešení je zřejmá: jistota, že systém nebyl kompromitován a bezpečné vzdálené podání důkazu. Druhou stranou mince je ale možnost použití (či zneužití?) této správy integrity pro ovládání systémů, které patří někomu jinému. Typicky uzavření systémů a zařízení výrobcem. S tím, jak se tento kód začíná přibližovat začlenění do jádra, přibývá lidí, kteří se právě tohoto obávají. (Na druhou stranu ale brojí proti částem nové licence GPLv3, která se tomuto „použití“ svobodného softwaru snaží zabránit. To ale samozřejmě neznamená, že by např. zmíněné uzavření podporovali.) Bylo by totiž poměrně těžké argumentovat proti uzavřeným linuxovým systémům a zařízením, když jádro samotné by obsahovalo svobodné nástroje pro jejich uzavření.
Prozatím tento problém nemůže nastat, s tímto kódem správy integrity je dost obyčejnějších problémů. Dříve nebo později je ale vývojáři vyřeší a Linus, soudě podle jeho dřívějších tvrzení, nebude proti jeho začlenění do jádra. Co na to zbytek vývojářské komunity, se zřejmě ukáže, až k tomu dojde.
Jan Outrata
www.kernel.org