Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.
Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Jádro 4.14 bylo vydáno 12. listopadu a začleňovací okno cyklu 4.15 je otevřené. Stěžejní funkce tohoto vydání zahrnují odvíjení ORC pro spolehlivější zpětné trasování a patchování za chodu, dlouho očekávaný režim vláken v kontrolních skupinách, podporu AMD Secure Memory Encryption, podporu pětiúrovňových tabulek stránek, funkci umožňující síťový přenos bez kopírování, subsystém správy heterogenní paměti a další. Více informací najdete na stránce Kernel Newbies věnované jádru 4.14. Nakonec bylo do jádra 4.14, které je plánováno jako další vydání s dlouhodobou podporou, začleněno téměř 13 500 sad změn.
Pro správce bylo pozoruhodné Linusovo varování (v oznámení vydání 4.14), že začleňovací okno 4.15 mohlo být vzhledem k americkému Dni díkuvzdání o něco kratší. (Poznámka překladatele: nakonec 4.15-rc1 vyšla podle plánu, tedy 26. listopadu.)
Stabilní aktualizace: 4.13.13, 4.9.62, 4.4.98 a 3.18.81 byly vydány 15. listopadu.
Tohle je ta velká sada patchů char/misc pro začleňovací okno 4.15-rc1. Obsahuje obvyklou skupinu nových funkcí přidanou ke všem těm šíleným ovladačům, jakožto i následující zcela nové subsystémy:
Všechny tyto patche byly úspěšně otestovány na nejnovějších vydáních linux-next a původní problémy, které se tím našly, jsou vyřešeny (omlouvám se všem, kdo žijí v blízkosti Canberry, že v dřívějších verzích ze stromu linux-next chyběly volby Kconfig.)
První pravidlo při pohledu na uživatelský prostor zní, že je buď rozbitý, nebo nepřátelský. Rozumný a uživatelský prostor se navzájem vylučují.
The inherent fragility of seccomp(). Jonathan Corbet. 10. listopadu 2017
Vývojáři jádra se už řadu let obávají, že trasovací body by mohly vést k závislosti aplikací na obskurních implementačních detailech. Z toho plynoucí potřeba zachovat dosavadní chování, aby se zabránilo vzniku regresí, by ale mohla ztěžovat budoucí vývoj. Nedávná zpráva poukazuje, že systémové volání seccomp() je také náchylnější k regresím, než uživatelé očekávají – jaderní vývojáři ovšem tyto regrese pravděpodobně nezpůsobují a vlastně nemají příliš možnost jim zabránit. Programy, které seccomp() používají, jsou přirozeně náchylnější k rozbití po aktualizaci softwaru.
seccomp() umožňuje vytvoření filtru, který omezí množinu systémových volání, která je procesu k dispozici. Má to zřejmé využití související se sandboxingem. Pokud aplikace nepotřebuje např. systémové volání open(), může zamezení přístupu k tomuto volání snížit rozsah škod, které by mohly vzniknout v případě napadení aplikace. Jak se rozšiřuje tvrzení systémů a programů, lze očekávat, že využití seccomp() bude i nadále růst.
Michael Kerrisk nedávno oznámil, že povýšením glibc na verzi 2.26 se rozbila jedna z jeho demonstračních aplikací. Tento program používal seccomp() k blokování přístupu k systémovému volání open(). Problém, na který narazil, spočívá v tom, že aplikace téměř nikdy nevolají systémová volání přímo, místo toho volají wrapper definovaný v knihovně C.
Wrapper open() v glibc od počátku obaloval jaderné systémové volání open(). Ale open() je staré rozhraní, které bylo již dávno nahrazeno voláním openat(). Staré volání stále existuje, protože aplikace jeho přítomnost očekávají, ale v jádře je implementováno jako zvláštní případ openat(). Ve glibc 2.26 došlo ke změně wrapperu open(), aby nově volal přímo openat(). Tato změna nebyla viditelná běžným aplikacím, ale rozbíjí filtry seccomp(), které se chovají pro open() a openat() odlišně.
Kerrisk si vlastně nestěžoval na změnu samotnou, ale chtěl vývojáře glibc informovat o tom, že jejího dopadu si uživatelé mohli všimnout: „Chci zvýšit povědomí o tom, že tento druh změn může potenciálně způsobit rozbití nějakého kódu, který využívá seccomp(), a myslím si, že by se takové změny neměly dít bezmyšlenkovitě nebo bezdůvodně.“ Naznačil, že vývojáři by při provádění takových změn měli mít riziko rozbití filtrů seccomp() na paměti a dokumentovat tyto změny v případech, kdy se jim nelze vyhnout.
Florian Weimer ale nesouhlasil:
Mám opačný názor: měli bychom tyto změny dělat co nejčastěji, abychom lidem připomněli, že filtry seccomp() (a některá pravidla SELinuxu a AppArmor) nejsou kompatibilní s modelem GNU/Linuxu, kde je vše vyvíjeno odděleně a udržováno mimo jediný strom se zdrojáky (na rozdíl od třeba OpenBSD). To znamená, že se opravdu nemůžete odklonit od upstreamového linuxového ABI pro uživatelský prostor (v co nejširším možném slova smyslu) a stále očekávat, že vše bude fungovat.
Jiný způsob, jak to podat, by mohl vypadat takto: filtry seccomp() se nepovažují za součást ABI poskytovaného glibc, takže nekompatibilní změny nejsou považovány za regrese. Místo toho jsou důsledkem filtrování na úrovni nižší než glibc, zatímco očekávané chování nad touto úrovní zůstává beze změny.
Zdá se, že Weimerův pohled je ten, kterým se bude vývoj glibc řídit do budoucna. Kerrisk tedy navrhl několik změn manuálových stránek, aby křehkost filtrů seccomp() vývojáře překvapovala o něco méně. Na této úrovni bude potřeba poměrně hluboké pochopení toho, co se děje, a schopnost přizpůsobit se budoucím změnám knihovny C.
Tento výsledek se dá považovat za argument pro filtrovací rozhraní podobné pledge() z OpenBSD. Tak jako seccomp() i pledge() se používá k omezení množiny systémových volání, kterou má proces k dispozici, ale pledge() pracuje spíše na úrovni obecné funkcionality než jednotlivých systémových volání. Dá se použít například k povolení základního I/O do/ze souboru a současně zakázání otevírání (nebo vytváření) nových souborů. Volání pledge() má mnohem menší granularitu než seccomp() a nemůže ani zdaleka posloužit k implementaci podobně široké škály pravidel, ale v případě základního filtrování se zdá, že riziko překvapení po aktualizaci jádra nebo knihovny je s ním mnohem menší.
Jenže Linux pledge() neobsahuje a je nepravděpodobné, že by se v něm mohlo objevit. Volání seccomp() práci při sandboxingu jistě odvede, ale vývojáři, kteří ho používají, by měli očekávat, že budou muset vynaložit nějaký čas a námahu na správu svých filtrů.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: