Man Yue Mo z GitHub Security Lab se podrobně rozepsal o již opravené zranitelnosti CVE-2023-6241 v Arm Mali GPU umožňující získání roota na telefonu Pixel 8 s povoleným MTE (Memory Tagging Extension).
V San José probíhá vývojářská konference NVIDIA GTC 2024. CEO společnosti NVIDIA Jensen Huang měl dvouhodinovou keynote, ve které představil celou řadu novinek: NVIDIA Blackwell platform, NVIDIA NIM microservices, NVIDIA Omniverse Cloud APIs, Project GR00T, …
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Od 21. do 23. března proběhnou Arduino Days 2024. Sledovat bude možné oficiální streamy. Zúčastnit se lze i lokálních akcí. V Česku jsou aktuálně registrovány dvě: v Praze na Matfyzu a v Poličce v městské knihovně.
Letošní ročník konference LinuxDays se uskuteční o víkendu 12. a 13. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během letošního ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru, Facebooku nebo na Mastodonu, přidat se můžete také do telegramové diskusní skupiny.
Byla vydána nová major verze 2.0.0 a krátce na to opravné verze 2.0.1 open source online editoru Etherpad (Wikipedie) umožňujícího společné úpravy v reálném čase.
Matematický software GNU Octave byl vydán ve verzi 9.1.0. Podrobnosti v poznámkách k vydání. Nově je preferovaný grafický backend Qt a preferovaná verze Qt 6. V tomto vydání byly přepracovány funkce pro převod čísel z desítkové soustavy. Jako obvykle jsou zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu březnový souhrn novinek. Vypíchnout lze, že pracují na virtuálním asistentu PineVox a zatím bezejmenných sluchátkách na lícní kosti (bone conduction).
Hyprland, kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, je již dva roky starý. Při té příležitosti byla vydána verze 0.37.0 (a záhy opravná 0.37.1 řešící chybu ve vykreslování oken). Nově závisí na knihovně hyprcursor, která poskytuje škálovatelné kurzory myši.
Stav vydání jádra. Opouštění starých architektur a překladačů.
Kernel release status. Jonathan Corbet. 28. února 2018
Současné vývojové jádro je 4.16-rc3, vydané 25. února. Linus ho oznámil se slovy: „rc3 je větší než rc2, ale jak padlo minulý týden, to se dalo čekat – rc2 byla opravdu maličká. Lidé už začali nacházet, co je potřeba opravit, ale nic nevyniká, že by to bylo vysloveně hrozné.“
Současný seznam regresí v cyklu 4.16 čítá osm známých problémů.
Stabilní aktualizace: 4.4.117, 4.9.83, 4.14.21 a 4.15.5 byly vydány 23. února. Následovaly je 25. února aktualizace 4.15.6, 4.14.22, 4.9.84, 4.4.118 a 3.18.96 a poté 28. února aktualizace 4.15.7, 4.14.23, 4.9.85, 4.4.119 a 3.18.97. Všechny tyto aktualizace byly poměrně velké, např. v aktualizacích vydání 4.14 se nasčítalo až 385 změn.
Shedding old architectures and compilers in the kernel. Jonathan Corbet. 26. února 2018
Proces vývoje jádra se zaměřuje spíše na přidávání: každé nové vydání podporuje více ovladačů, více funkcí a často nové architektury procesorů. Výsledkem je, že skoro každé nové vydání jádra je větší než to předcházející. Ale občas je nutné trochu zeštíhlit i jádro. Nadcházející vydání jádra pravděpodobně potká odstranění podpory řady neoblíbených architektur a – nezávisle na tom – také odstranění podpory některých starších překladačů.
Architektura Meta byla přidána do jádra 3.9 jako „metag“. Jde o 32bitovou architekturu vyvinutou v Imagination Technologies. Bohužel se přihodilo, že současně se začleněním kódu firma Imagination Technologies koupila MIPS Technologies a zaměřila se na architekturu MIPS. Od té doby podpora Mety v jádře skomírá a dá se sestavit pouze s GCC verze 4.2.4, která už není podporována. James Hogan, vývojář, který port na Metu do jádra původně přidal, 21. února navrhl její odstranění s tím, že je „v podstatě mrtvá a nikdo ji nepoužívá.“
Hned další den nezávisle navrhl Metu odstranit také Arnd Bergmann. Ovšem jak to mívá ve zvyku, vzal to zeširoka: navrhl důkladně zvážit odstranění celkem pěti architektur. Ty další čtyři zahrnovaly následující:
Hexagon od Qualcommu je architektura digitálních signálových procesorů, jejíž podpora se do jádra dostala ve vydání 3.2 v roce 2011. Jde o trošku jiný případ, protože architektura Hexagon se stále aktivně používá – Bergmann řekl, že „se používá ve všech ARMovských SoC Snapdragon, ale jaderný kód se jeví jako výsledek neúspěšného výzkumného projektu, jehož cílem bylo vytvořit samostatný SoC Hexagon bez jader ARM.“ Port GCC 4.5 na tuto architekturu nikdy nebyl začleněn.
Richard Kuo se ozval, aby se architektury Hexagon zastal, se slovy: „Tento port pořád používáme k experimentování s různými nástroji a na jiné výzkumné projekty ve firmě.“ Port GCC je skutečně opuštěný, řekl, ale to jen proto, že Qualcomm přešel na LLVM k sestavování jak jádra, tak kódu v uživatelském prostoru. Bergmann odpověděl, že architektura v jádře zůstane, když se správci kód stále hodí. Rád by ale dal dohromady funkční sadu nástrojů k sestavení portu pomocí LLVM.
Bergmann také na okraj zmínil, že architektury FR-V a M32R (obě z doby před zavedením Gitu) byly označeny jako osiřelé a časem by se mělo zvážit jejich odstranění. V diskuzi se ale rychle ukázalo, že tyto architektury nikoho nezajímají. Konečně, David Howells je stále formálně správcem správcem architektury mn10300, pro niž přidal podporu ve vydání 2.6.25 v roce 2008, ale podle Bergmanna „se situace nezdá o nic aktivnější než v případě těch dalších dvou architektur, poslední skutečné aktualizace přišly v roce 2013.“ Další diskutující zmínili, že v současné době se nepoužívají ani architektury tile (z cyklu 2.6.21, rok 2010) a blackfin (cyklus 2.6.21, rok 2007).
Z diskuze vyplynul plán ve vývojovém cyklu 4.17 odstranit architektury score, unicore, metag, frv a m32r, zatímco hexagon a openrisc zůstanou. Architektury tile a blackfin budou na čas odloženy a pokud se neobjeví nový správce, budou odstraněny „později letos.“ Architektura mn10300 bude označena k „očekávanému odstranění“, nepřibude-li podpora současných čipů. Všeho všudy je tedy pravděpodobné, že z jádra v dohledné době zmizí docela dost kódu.
Soubor changes.rst
z jaderné dokumentace aktuálně tvrdí, že nejstarší podporovaná verze GCC je 3.2 vydaná v roce 2002. Už ale uplynul nějaký čas od doby, kdy se někomu skutečně podařilo jádro sestavit tak starým překladačem. Začátkem února Bergmann v diskuzi poznamenal, že nejstarší verze, o které se ví, že v tomto kontextu funguje, je 4.1 z roku 2006, a to sestavení se podařilo pouze jednomu jedinému odhodlanému vývojáři. Zdá se, že nejstarší překladač v praxi použitelný k sestavení jádra je [GCC] verze 4.3 (rok 2008), stále podporovaná distribucí SLES 11.
Linus Torvalds ale řekl, že reálně je potřeba verze aspoň 4.5 (rok 2010). V ní přibyla funkce „asm goto
“, která umožňuje inline kódu assembleru skákat na návěští v kódu napsaném v C. Podpora překladačů bez této funkce vyžaduje údržbu celkem velkého množství záložního kódu. asm goto
je také stále více potřeba k patřičnému zmírňování Meltdown/Spectre. Někteří vývojáři by se záložního kódu rádi zbavili, ale je v tom menší problém, jak poukázal Kees Cook: LLVM asm goto
nepodporuje a celý Android se sestavuje pomocí LLVM. Takže v nejbližší době by někdo měl do LLVM přidat podporu asm goto
.
Peter Zijlstra by rád šel o krok dál a vyžadoval GCC 4.6, ve kterém přibyla funkce -fentry
. Ta nahrazuje starou profilovací vazbu mcount()
novou, která se při vstupu do funkce volá před veškerým ostatním kódem. To by také umožnilo odstranit něco starého kódu pro zpětnou kompatibilitu. V tom případě by ale podle Bergmanna dávalo smysl učinit nejstarší možnou verzí 4.8, protože právě ta je podporována celou řadou distribucí s dlouhodobou podporou. Ale ani u toho se nemusíme zastavit, protože nejstarší verze GCC, o které se dá říct, že podporuje zmírnění Spectre „retpoline“, je 4.9, vydaná v roce 2014.
Zatím nikdo nerozhodl, která verze GCC bude opravdu ta nejstarší možná k sestavení jádra, takže prozatím v dokumentaci zůstává fiktivní číslo 3.2. Jednoho dne se to jistě změní. Do té doby by se každý, kdo k sestavení současných jader používá starší nástroje, měl zamyslet nad přechodem na něco novějšího.
(Poznámka autora: poděkování patří Arndu Bergmannovi za zodpovězení několika dotazů pro účely tohoto článku. Také stojí za zmínku nedávno aktualizovaný vyčerpávající seznam křížových překladačů dostupný na kernel.org, starší verze těchto překladačů jsou dostupné na této stránce.)
Nástroje: Tisk bez diskuse
Tiskni Sdílej: