Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
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: