Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Současné vývojové jádro je 4.15-rc7, vydané 7. ledna. „OK, byl to zajímavý týden a teď už všichni vědí, proč jsme začleňovali všechny ty divné patche izolace tabulek stránek na x86, aniž bychom postupovali podle všech těch obvyklých pravidel pro postup vydání. Ale samotná rc7 je ve skutečnosti celkem v klidu.“
Stabilní aktualizace: 4.14.12, 4.9.75 a 4.4.110 byly vydány 5. ledna, 10. ledna je následovaly aktualizace 4.14.13, 4.9.76 a 4.4.111. Všechny tyto aktualizace obsahují opravy oprav meltdown/spectre, takže kdo provozuje stabilní jadra, se nejspíš bude chtít držet nejnovějších verzí.
Tady jsou novinky od Grega Kroah-Hartmana ohledně odpovědi jádra na Meltdown a Spectre. „Pokud právě spoléháte na jiné jádro než 4.4, 4.9 nebo 4.14 a nemáte distribuční podporu, máte smůlu. Absence patchů řešících problém Meltdown je v porovnání se stovkami dalších známých zranitelností a chyb, které vaše jádro momentálně obsahuje, naprosto zanedbatelná. Ze všeho nejvíc by vás teď mělo trápit právě tohle a první byste měli aktualizovat své systémy. Také byste měli seřvat ty lidi, kteří vás přinutili používat zastaralou a nebezpečnou verzi jádra, ti si musí uvědomit, že takové chování je naprosto bezohledné.“
Monolitická jádra jsou daleko otevřenější k tomu, aby s nimi zacházeli lidé, kteří nejsou až tak dobří. Je to smutné, ale je to tak. Byl bych rád za svět, kde se používají mikrojádra, ale bojím se, že jsme příliš hloupí, než abychom toho dosáhli. Něco, něco, něco, proto nemůžeme mít hezké věci.
Stále musíme hodně myslet na výkon. Už je tu probíhající trend nasazování mechanismů obcházejících jádro kvůli výkonu a nové zvýšení ceny systémových volání nutně zesílí zájem vyhnout se jádru. Osobně nechci vidět, jak je jádro redukováno na zavádění systému a spouštění SSH pro správu počítačů.
Doufám, že tohle cvičení konečně zastaví probíhající jadernou nekrofilii v distribucích. Vím, že se tak nestane, ale naděje umírá poslední.
Zdá se, že řízeným odhalováním velmi důležitých chyb se daří dosahovat dvou věcí:
Nic z toho nemá nic společného s tím, kolik máme času na to přijít s co nejlepší možnou implementaci opravy. S tou technickou částí, víte?
Obvykle jsme vždy ladili s ohledem na latenci. Propustnost je „snadná“, ale téměř nikdy zajímavá.
—Linus Torvalds (díky Jimu Gettysovi)
A new kernel polling interface. Jonathan Corbet. 9. ledna 2018
Je užitečné dotazovat se (poll) skupiny deskriptorů souborů za účelem zjistit, který z nich zvládne provést I/O bez blokování. Je to dokonce tak užitečné, že jádro k tomu nabízí tři různá systémová volání (select(), poll() a epoll_wait() — plus nějaké další varianty). Jenže někdy ani tři možnosti nestačí. Aktuálně koluje návrh na čtvrté jaderné rozhraní pro dotazování. Jak je obvyklé, změna je motivována požadavky na výkon.
Christoph Hellwig 4. ledna zveřejnil nové dotazovací API založené na mechanismu asynchronního I/O (AIO). Někoho by to mohlo překvapit, jelikož AIO nepatří k nejoblíbenějším jaderným rozhraním a obvykle si nezíská mnoho pozornosti. AIO umožňuje zadávat I/O operace bez čekání na jejich dokončení. Čekání může být provedeno někdy jindy, je-li nutno. Jádro podporuje AIO již od doby vydání 2.5, ale vždy to bylo tak nějak neúplné. Přímé souborové I/O (původní způsob užití) funguje dobře, stejně jako síťové I/O. Mnoho dalších typů I/O ale není podporováno pro asynchronní použití – takové pokusy vedou na synchronní chování. V jistém smyslu je dotazování se přirozeným rozšířením AIO. Smyslem dotazování se je vyhnout se čekání na ukončení operací.
Patche přidávají nový příkaz (IOCB_CMD_POLL), který může být předán io_submit() v kontrolním bloku I/O (IOCB) spolu s ostatními obvyklými příznaky POLL*, které popisují požadovaný typ I/O — např. POLLIN pro data dostupná ke čtení. Tento příkaz, jako ostatní příkazy AIO, nebude (nezbytně) dokončen před návratem z io_submit(). Místo toho, když je určený deskriptor souboru připraven k požadovanému typu I/O, bude do fronty zařazena událost dokončení. Následné volání io_getevents() (nebo varianty io_pgetevents() přidané sadou patchů, ta během operace blokuje signály) vrátí tuto událost a volající aplikace bude vědět, že na uvedeném deskriptoru souboru může provést I/O. Dotazovací operace AIO vždy pracují v jednorázovém (one-shot) režimu. Takže jakmile se vygeneruje upozornění na dotaz a jsou zapotřebí další upozornění, je nutné pro daný deskriptor souboru poslat nový IOCB IOCB_CMD_POLL IOCB.
Zatím se toto rozhraní jeví složitější než stávající dotazovací systémová volání. Je tu ale výhoda, která spočívá v cyklické frontě (ring buffer) AIO. Tento bídně zdokumentovaný aspekt subsystému AIO mapuje cyklickou frontu do adresního prostoru volajícího procesu. Tento proces pak může konzumovat události oznámení přímo odtud, místo aby volal io_getevents(). Vícero oznámení lze přijmout zcela bez nutnosti vstupu do jádra a volání pro více deskriptorů souborů lze obnovit jediným voláním io_submit(). Hellwig uvedl ve zprávě doprovázející patche, že výsledkem je až 10% nárůst výkonu I/O frameworku Seastar. Hellwig nedávno poznamenal, že zlepšení výkonu roste až na 16 % u jader se zapnutou izolací tabulek stránek.
Uvnitř jádra může nové dotazovací rozhraní podporovat libovolný ovladač zařízení (nebo jiný subsystém, který exportuje strukturu file_operations), ale bude to vyžadovat nějaké drobné změny. Není však nutné podporovat (nebo dokonce ani vědět o) AIO obecně. V současných jádrech jsou všechna dotazovací systémová volání podporována metodou poll() ve struct file_operations:
int (*poll) (struct file *file, struct poll_table_struct *table);
Tato funkce musí provést dvě akce: nastavit upozornění na dobu, kdy bude příslušný soubor file připraven k I/O, a vrátit typy I/O, které lze provést bez okamžitého blokování. První se provede přidáním jedné nebo více čekacích front do poskytnuté tabulky table, ovladač na jedné z těchto front vykoná volání probuzení ve chvíli, kdy se stav zařízení změní. Aktuální stav připravenosti (readiness) vrací samotná metoda poll().
Podpora dotazování založeného na AIO vyžaduje rozdělit tyto dvě funkce do samostatných metod file_operations. Čili tato struktura obsahuje dva nové záznamy:
struct wait_queue_head *(*get_poll_head)(struct file *file, int mask); int (*poll_mask) (struct file *file, int mask);
(Patche samotné používají novou definici typu __poll_t pro mask, ale ta zatím není v hlavním repozitáři jádra.) Dotazovací subsystém zavolá get_poll_head(), aby získal ukazatel na čekací frontu, která dostane oznámení, když se změní stav připravenosti I/O zařízení. Aktuální stav připravenosti se získá voláním poll_mask(). Ovladač, který implementuje tyto dvě operace si nemusí (a pravděpodobně by ani neměl) zachovat implementaci staršího rozhraní poll().
Jedno možné omezení vlastní tomuto API spočívá v tom, že čekací fronta, která přijímá oznámení pro daný soubor file, může být pouze jedna. Stávající rozhraní naopak umožňuje více front a mnoho ovladačů tuto skutečnost využívá, například má různé fronty pro připravenost čtení a zápisu. Současné čekací fronty nabízejí tolik flexibility, že používání více front by již nemělo být nutné. Jestliže ovladač nemůže být změněn, „tak prostě nebude podporovat aio dotazování,“ řekl Hellwig.
Ke zveřejnění tohoto patche se zatím neobjevilo mnoho komentářů. Řada potenciálně zainteresovaných vývojářů byla v posledním týdnu zaneprázdněna jinými záležitostmi. S 10% nárůstem výkonu je ale těžké polemizovat, takže nějaká forma tohoto patche se pravděpodobně do hlavního jádra dříve nebo později dostane – koho to zajímá, může dále sledovat hlavní repozitář, jestli už to tam je. Zda se někdy dočkáme pátého dotazovacího rozhraní, je zatím otázkou.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: