V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.
Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny
… více »D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.
Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.
Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.
Současný vývojový cyklus 4.1-rc3 byl vydán 10. května. Linus: "Testujte. Od -rc3 by nemělo jít o nic ohrožujícího, takže pokud jste již nezkoušeli jednu z předchozích vývojových verzí kernelu, bylo by fajn se ujistit, že vše běží jak má."
Stabilní aktualizace: 3.10.77, 3.14.41, 3.19.7 a 4.0.2 byly vydány 7. května. Verze 3.19.8 (poslední update verze 3.19) následoval 11. května. Aktualizace 4.0.3, 3.14.42 a 3.10.78 vyšly 13. května.
Společnost Canonical oznámila, že bude 3.19 udržovat do konce července 2016.
Nemám rád možnost "vypnout bezpečnost pro výkon", protože Joe SpeedRacer bude vždy upřednostňovat rychlost před bezpečností.
Ingo, mám pocit, žes mi právě dal zdarma štěně...
PR_SET_DATAPLANE, BARE_METAL, NO_INTERRUPTS, NO_HZ_PURE, NO_HZ_LEAVE_ME_THE_FSCK_ALONE, NO_HZ_OVERFLOWING, CONFIG_ISOLATION, PR_SET_NONSTOP...
-Výbor pro pojmenovávání funkcí jádra se sídlem v kůlně na opravu kol
Jednotky správy paměti zabudované do většiny současných procesorů, jsou schopné řídit přístupy jednotlivých stránek k paměti. Operační systémy jako Linux umožňují aplikacím tuto kontrolu v uživatelském prostoru; jedná se o bity ochrany, které jsou k dispozici, např. mmap() či mprotect(). Ty umožňují procesům určit, zda má být konkrétní stránka dostupná pro čtení, zápis či spuštění. Tato úroveň zabezpečení sloužila dlouho, takže by se někdo mohl domnívat, že poskytuje vše, co aplikace potřebuje. Jenomže nová hardwarová funkce, vyvíjená pod hlavičkou společnosti Intel, naznačuje něco jiného. První kolo záplat podporujících novou funkci ukazuje jak k ní mohou programy získat přístup.
Funkce se jmenuje "Klíče na ochranu paměti" (MPK - Memory Protection Keys) a bude dostupná pouze pro 64bitové procesory Intel. Povolením této funkce bude možné přidělit (dříve nevyužitým) čtyřem bitům ve všech záznamech tabulky stránek jednu z šestnácti "klíčových" hodnot každé jednotlivé stránce. Nový je také 32bitový procesorový registr se dvěma bity pro každou klíčovou hodnotu. Nastavením bitu "write disable" pro daný klíč dojde z zablokování všech pokusů o zápis do stránek s touto klíčovou hodnotou. Nastavením "access disable" dojde i k zablokování čtení. Funkce MPK tedy umožňuje procesům rozdělit svou paměť nejvýše do 16 oblastí a selektivně povolit nebo zakázat přístup ke kterékoli z nich. Kontrolní registr je samostatný pro každé vlákno, takže je možné nezávisle povolovat či zakazovat libovolnou oblast.
Sadu patchů, které funkci MPK povolují, zveřejnil již dříve pro revizi Dave Hansen. I když jak poznamenal, prozatím nebude moci nikdo kromě lidí z Intelu kód spustit. Dave doufá, že jakmile bude daný hardware k dispozici, získá alespoň komentáře k (minimálním) API změnám v uživatelském prostoru pro podporu MPK.
V navrhovaném designu mohou aplikace nastavit klíče za pomocí některého ze systémových volání, které nastavují další zabezpečení stránek, např. mprotect(). Pro reprezentaci klíčových bitů byly definovány čtyři nové příznaky (flags) (PROT_PKEY0 až PROT_PKEY3). V jádře jsou tyto bity uloženy v oblasti virtuální paměti (VMA), a "pushnuty" do příslušných umístění v hardwarové tabulce stránek. Jestliže se ke stránce pokusí proces získat přístup způsobem, který není povolen ochrannými klíči, dostane obvyklý signál SIGSEGV. Zachytí-li tento signál, může vyhledat nový kód SEGV_PKUERR (v poli si_code struktury siginfo_t předané obsluze), pro detekci chyby způsobené ochranným klíčem. Momentálně nelze zjistit, který klíč chybu způsobil, ale tato část funkce je v seznamu věcí, které je třeba udělat.
Někdo by mohl namítat, proč je taková funkce zapotřebí, když toho co umí, lze docílit pomocí bitů ochrany paměti, které jsou již k dispozici. Problém se současnými bity je v tom, že je dost složité s nimi manipulovat. Každá změna vyžaduje zrušení platnosti Translation Lookaside Bufferu (TLB) v rámci celého systému, což je špatné samo o sobě, ale změna bezpečnosti jedné oblasti paměti může vyžadovat individuální změny v zápisech tabulek stránek pro tisíce (i více) stránek. Jakmile dojde k nastavení ochranných klíčů, může být daná oblast paměti povolena či zakázána jediným zápisem do registru. Velké zlepšení výkonu se tak projeví u všech aplikací, které vyžadují časté změny v oblastech adresního prostoru.
Otázkou (jak se ptal Ingo Molnar) zůstává, proč by měl proces tak často chtít měnit ochranu paměti. Důvodů pro vývoj této funkce je hned několik. Jedním je nakládání s citlivými šifrovanými daty. Šifrovací klíč by mohl využít síťový démon k zašifrování dat před jejich odesláním, zakazu přístupu k části paměti obsahující tento klíč (a textová data) a odeslání dat. V takovém případě nehrozí únik klíče ani dat. Tento způsob ochrany by mohl aplikace činit odolnější vůči útokům.
Dalším často zmiňovaným využitím je ochrana oblastní paměti před jejich poničením nechtěným "zbloudilým" přepisem. Databáze v paměti by mohla takovým zápisům zabránit a povolit je pouze v případě nutné změny. Tímto způsobem by se dalo po nějakou dobu předcházet poškození databáze v důsledku chyby. Ingo byl o tomto využití přesvědčený a navrhoval 64bitový adresní prostor, který by měl být dost velký pro ukrytí dat a jejich ochranu před poškozením. Také navrhl, že by verze mprotect(), která původně přeskočila TLB zneplatnění, mohla řešit problémy s výkonem, hlavně v případech využití velkých stránek. Na to reagoval Alan Cox tvrzením, že je velká poptávka po možnosti měnit GB paměti najednou, a na to, že je mprotect() příliš pomalý.
Mít možnost vypnout nečekané zápisy by mohla být velmi užitečná v situacích, kdy je základní (underlying) pamětí zařízení s trvalou pamětí; jakékoli chybné zápisy půjdou okamžitě do trvalé paměti. Využití pro MPK by našel také nástroj Valgrind.
K přidání hardwarové funkce MPK dochází z důvodu zájmu zákazníků bez ohledu na Molnarovy obavy. Bylo by tedy divné, kdyby ji kernel v budoucnu nepodporoval zvlášť proto, že její zavedení není nikterak invazivní. Otázkou tedy zůstává, zda je navrhovaný API pro uživatelský prostor správný, a udržitelný v dlouhodobém horizontu. Doufejme, že se na patch podívají ti vývojáři, kteří by funkci mohli využít, a že se v případě nějakých problémů ozvou.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
K přidání hardwarové funkce MPK dochází z důvodu zájmu zákazníků bez ohledu na Molnarovy obavy. Bylo by tedy divné, kdyby ji kernel v budoucnu nepodporoval zvlášť proto, že její zavedení není nikterak invazivní.
Čistě pragmaticky: když pro to nebude standardní rozhraní v mainline, nepochybně rychle přispěchají nechvalně proslulé firmy se svými closed source moduly. A to mi rozhodně nepřipadá jako lepší alternativa.
Otázkou tedy zůstává, zda je navrhovaný uživatelský prostor API správný…
Znovu a znovu: když se v angličtině vyskytnou dvě podstatná jména za sebou, většinou to znamená, že první se stává přívlastkem rozvíjejícím to druhé. Takže "user-space API" není "uživatelský prostor API" ale "API pro uživatelský prostor".
Vlákno bylo přesunuto do samostatné diskuse.