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ů.
Současné vývojové jádro je 4.15-rc3, vydané 10. prosince. Linus řekl: „Nemám radost z velikosti raných kandidátů na vydání 4.15, ale rc3 často bývá největší, protože je to stále poměrně brzo v té části, kdy se věci uklidňují, přitom ale lidé už měli dostatek času na to, aby začali nacházet problémy. I tak je tento rc3 příliš velký i podle standardů rc3. To není dobré.“ Od vydání 4.15-rc2 bylo začleněno 489 sad změn.
Stabilní aktualizace: 4.14.5, 4.9.68, 4.4.105 a 3.18.87 byly vydány 10. prosince. Další aktualizace 4.14.6 a 4.9.69 byly v době psaní tohoto článku v procesu revidování a vyšly 14. prosince.
Stojí za přečtení: tento příspěvek v blogu APNIC od Marka Nottinghama o nejbližším vývoji různých internetových protokolů. „Nejnovější změnou na obzoru je DOH – DNS over HTTP. Významné množství výzkumu ukázalo, že sítě běžně využívají DNS jako prostředek k vynucování pravidel (ať už ve jménu poskytovatele nebo vyšší autority). O obejití kontroly tohoto typu pomocí šifrování se již delší dobu mluví, ale má to nevýhodu (alespoň z některých úhlů pohledu) – jde to oddělit od ostatního provozu, například zablokovat přístup na portu s příslušným číslem. DOH to řeší tak, že nasadí DNS provoz na stávající HTTP spojení, čímž zruší jakoukoli diskriminaci.
MAP_FIXED_SAFE. Jonathan Corbet. 13. prosince 2017
Volba MAP_FIXED systémového volání mmap() procesu umožňuje určit, že k mapování má dojít na dané virtuální adrese, je-li to možné. Ukazuje se však, že „je-li to možné“ napáchá o něco více vedlejších škod, než by se některým líbilo, a dokonce může vést ke zneužitelným zranitelnostem. Nová, bezpečnější volba se připravuje, ale jak tomu často bývá, narazila na nějaké netechnické obtíže.
Každé volání mmap() umožňuje volajícímu procesu určit adresu, kde má se má provést mapování. Za běžného provozu je však tato adresa pouze nasměrování, které jádro klidně může ignorovat. MAP_FIXED je tu pro případy, kdy k mapování opravdu musí dojít na požadované adrese, nebo nebude aplikace fungovat. Jádro tento příznak bere vážně až do té míry, že pokud v daném adresním rozsahu už je jiné mapování, zničí ho, aby se udělalo místo pro mapování nové. Na první pohled to může vypadat jako podivná sémantika: jestliže aplikace chce mapování v dané oblasti, asi by měla být schopná převzít zodpovědnost za to, že na požadované mapování bude místo. Ale volání mmap() je takto nastaveno, čili se děje, co se děje.
Asi není třeba dodávat, že to může být problematické v situaci, kdy aplikace neví o konfliktu mapování – něco, co by mohlo nastat jako výsledek chyby, randomizace rozložení adresního prostoru, neshody mezi knihovnami nebo záměrné manipulace útočníkem. Data obsažená v tomto mapování (nebo alespoň v překrývající se části), budou tiše zahozena a na jejich místě se objeví nové mapování. Podle očekávání není příliš pravděpodobné, že po takové akci bude všechno fungovat správně. V některých případech jsou výsledkem bezpečnostní zranitelnosti, viz například CVE-2017-1000253, kdy bylo interní použití MAP_FIXED v jádře za účelem načtení programů do paměti zneužito k poškození zásobníku.
Řešení se dá najít v sadě patchů MAP_FIXED_SAFE od Michala Hocka. Přidává nový příznak mmap(), který se jmenuje – překvapení – MAP_FIXED_SAFE. Jeho sémantika se podobá MAP_FIXED s jednou výjimkou: operace selže, není-li cílový rozsah adres volný. Načítání ELF v jádře je upraveno, aby tento nový příznak používalo při mapování programů do paměti. Tím pádem nahrávání programu v případě kolize dvou mapování selže, ale je to ta lepší varianta. Očekává se, že nový kód bude používat tento příznak téměř ve všech případech a že starší programy na něj nakonec také přejdou.
Někteří navrhli přidat samostatný příznak, který by změnil chování MAP_FIXED, takže aplikace by volání mmap() předaly něco jako MAP_FIXED|MAP_SAFE. Problém s tímto přístupem je, že mmap() je jedno z těch systémových volání, která nikdy neřešila neznámé příznaky. Program používající tuto konstrukci by se tím pádem na starších jádrech, které postrádaly podporu nového příznaku MAP_SAFE, tiše vrátil zpět k MAP_FIXED. Použití nového příznaku znamená, že ačkoliv na starších jádrech aplikace nedosáhne kýženého selhání, nebude-li adresní prostor dostupný, nebude zároveň ani sahat do žádných dalších mapování (protože zadaná adresa bude jádrem považována za nezávazné nasměrování).
Tato změna je více méně připravena a Hocko požádal o její začlenění. Je tu ovšem zásadní otázka, která je příčinou největší části debat o této řadě patchů: pojmenování MAP_FIXED_SAFE. Různí vývojáři by z různých důvodů rádi jiný název. Mezi návrhy zaznělo MAP_FIXED_UNIQUE, MAP_FIXED_NOREPLACE, MAP_FIXED_NO_CLOBBER, MAP_TANTRUM, MAP_EXACT, MAP_NOFORCE aj. Byl to právě ten druh diskuze, kdy se již podařilo vyřešit technické problémy, ale každý se chce podepsat pod finální výsledek.
Poté, co Hocko přežil velkou část diskuze, oznámil své vlastní rozhodnutí o jméně:
„Obávám se, že bychom to mohli řešit donekonečna a stejně by se našel někdo, kdo se snaží najít lepší název. Proto jsem se rozhodl držet se svého původního MAP_FIXED_SAFE. Proč? No, protože název si drží prefix MAP_FIXED, který by měl být vývojářům známý, a sufix _SAFE dává najevo, že všechny nebezpečné vedlejší účinky starého MAP_FIXED jsou pryč.Také prohlásil, že každý, kdo byl se jménem skutečně nespokojen, mohl zablokovat tento patch a nějakým způsobem dospět ke konsenzu na lepším, ale že on už se toho účastnit nebude. Takže přirozeně se někdo takový našel, kdo protestoval, a Hocko mu popřál hodně štěstí s převzetím odpovědnosti za patch.
Vzhledem k nátuře zúčastněných by si někdo mohl myslet, že dojde k zablokování užitečného patche. Autor článku by se však vsadil, že sada patchů MAP_FIXED_SAFE bude začleněna ve zhruba stejném stavu, v jakém se aktuálně nachází. Řeší totiž skutečný problém. Zdržování a hledání perfektního jména se nezdá jako přístup, který by komukoliv prospěl.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: