Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).
Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.
V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.
Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
MAP_SHARED_VALIDATE
Stav vydání jádra. Huston: o dalších 10 let později. Patche poll() staženy. Citáty týdne: Dave Chinner a Daniel Vetter. Pohled na hack MAP_SHARED_VALIDATE
.
Kernel release status. Jonathan Corbet. 3. července 2018
Současné vývojové jádro je 4.18-rc3, vydané 1. července. Linusova slova: „A vypadá to celkem normálně – něco přes třetinu jsou ovladače (různé: vstupní zařízení, usb, zvuková zařízení, gpu, mtd, sítě,…) a zbytek aktualizace architektur (arm/arm64 – dominují jim soubory stromů zařízení, microblaze, powerpc, x86), souborové systémy (xfs, trochu btrfs, drobnosti v jádře vfs), sítě, aktualizace dokumentace a nástroje okolo.“
Stabilní aktualizace: 4.17.4, 4.14.53, 4.9.111, 4.4.139 a 3.18.114 byly vydány 3. července.
Huston: Another 10 years later. Jonathan Corbet. 28. června 2018
Za přečtení stojí, co sepsal Geoff Huston o tom, jak se posledních deset let vyvíjely a kam by mohly směřovat sítě. „Možná, že tento větší odpor ke změnám je způsoben růstem velikosti sítě, její setrvačná hmotnost také roste. Kdysi jsme si navzájem citovali Metcalfeho zákon, opakovali jsme si mantru, že „hodnota“ sítě kvadraticky roste s počtem uživatelů. S tím souvisí pozorování, že odpor sítě ke změnám, vlastně setrvačná hmotnost, také přímo závisí na druhé mocnině počtu uživatelů.“
poll() patches pulled. Jonathan Corbet. 3. července 2018
Jak se psalo v článku Zrušení daně poll(), patche, které přidávají polling subsystému asynchronního I/O (AIO), byly sice začleněny pro vydání 4.18, ale přinesly se sebou nepříjemnou výkonnostní regresi. Proběhla diskuze, jaké změny provést, aby se dopady zmírnily, ovšem Linus Torvalds závěrem vrátil celou skupinu změn z hlavního stromu. Takže nakonec ve vydání 4.18 přeci jen žádné nové rozhraní pro polling nebude.
Torvalds k patchům měl řadu připomínek, a to i k přidaným nepřímým voláním funkcí, která právě způsobovala problémy s výkonem. Ale nezdála se mu ani změna implementace poll()
na úroveň virtuálního souborového systému: nelíbilo se mu obnažení některých nízkoúrovňových detailů. Náhrada této skupiny patchů tedy bude muset zvolit jiný přístup, který ponechá stávající mechanismus a variantu s AIO přidá zvlášť. Zůstaňte na příjmu.
Quotes of the week. Jonathan Corbet. 4. července 2018
To je ten skutečný problém – přimět uživatelský prostor, aby používal všechny urychlovací bity, které poskytujeme. Jak dlouho už máme rozhraní splice, která umožňují efektivně kopírovat data, aniž by musela procházet uživatelským prostorem? Jeden by si myslel, že používat tato API je samozřejmost, ale nepoužívá je vůbec nikdo. Mám podezření, že s copy_file_range() a podobným pokrokem v API AIO+DIO se stane to samé…
Obhajoba stručnosti jako efektivního způsobu komunikace se vrací jako bumerang, protože, aspoň já mám takovou zkušenost, vede potenciální dobrovolníky k tomu, aby šli jinam, kde budou spíše vítáni.
MAP_SHARED_VALIDATE
Revisiting the MAP_SHARED_VALIDATE hack. Jonathan Corbet. 29. června 2018
Jedna z nejčastějších chyb v návrhu systémových volání je opomenutí kontroly neznámých příznaků, pokud volání příznaky přijímá. Stane-li se někdy, že volající mohou nastavit neznámé příznaky, přidávání nových příznaků se stává minovým polem. Ovšem v případě mmap()
vývojáři přišli na chytrou obezličku, jak se tomu vyhnout. Nedávná diskuze pak tento přístup zpochybnila a nadhodila otázku, co je to vlastně regrese v jádře. Žádné změny se sice v důsledku nechystají, ale tato debata poskytuje příležitost jednak se podívat na tento hack, jednak sledovat, jak se jaderná komunita rozhodne, zda je změna regrese, či nikoliv.
V roce 2017 se několik vývojářů snažilo přijít na to, jak umožnit bezpečný přímý přístup uživatelského prostoru k souborům uložených na zařízení s nevolatilní pamětí. Příslušný hardware sice procesoru umožňuje paměť adresovat přímo, ale kdyby souborový systém současně změnil uspořádání bloků, veškeré změny by přišly vniveč. Jako řešení se objevil nový příznak MAP_SYNC
volání mmap()
. Když se soubor (uložený na zařízení s nevolatilní pamětí) namapuje s tímto příznakem, jádro si dá záležet, aby zajistilo, že nedojde ke střetu přístupu k mapování a změn na úrovni souborového systému. Z pohledu aplikací tento příznak problém řeší.
Nebo řešil by, kdyby nebylo onoho problému s neznámými příznaky, který mmap()
provází od samého začátku. mmap()
(jak káže letitá praxe) nesmí vrátit chybu, když dostane neznámé příznaky. Jedna možná komplikace plynoucí z přidávání nových příznaků k takovém systémovému volání je, že pokud některý program z nějakých důvodů už příznak MAP_SYNC
používal, mohlo by se změnit jeho chování. To by v tomto případě neměl být zásadní problém. Co je vážnější, aplikace nemají možnost zjistit, zda jádro, na kterém běží, vůbec příznak MAP_SYNC
podporuje, protože všechna jádra při volání s ním vrátí kód odpovídající úspěchu. Jestliže tedy integrita dat aplikace závisí na použití MAP_SYNC
, aplikace potřebuje vědět, zda je tato funkce vůbec podporována – jenže mmap()
neposkytuje žádný způsob, jak to zjistit.
Řešení vyplynulo z toho, že mmap()
vlastně podporuje dva vzájemně se vylučující příznaky: MAP_SHARED
a MAP_PRIVATE
. Volání mmap()
s oběma příznaky tedy selže, takže žádný funkční program jej takto nepoužívá. Tato kombinace je tudiž potenciálně k dispozici pro jiné způsoby použití. Tento commit přidal nový „příznak“ nazvaný MAP_SHARED_VALIDATE
, který je definován jako kombinace MAP_SHARED
a MAP_PRIVATE
, tzn. vyžádá si vytvoření sdíleného mapování, ale současně také explicitní ověření všech ostatních poskytnutých příznaků volání. Souborové systémy a ovladače zařízení mohou jádru (pomocí pole mmap_supported_flags
ve struktuře file_operations
) sdělit, že podporují příznaky nad rámec těch „historických“. Nedostane-li jádro tuto informaci, shledá, že tyto příznaky podporovány nejsou a (v případě použití MAP_SHARED_VALIDATE
) nechá všechna volání, která se pokusí je použít, selhat.
Oba příznaky, MAP_SYNC
a MAP_SHARED_VALIDATE
, byly začleněny do vydání 4.15. Aplikace, která je ve volání mmap()
použije oba, si může být jistá, že MAP_SYNC
je opravdu podporován jak jádrem, tak souborovým systémem, ve kterém je namapovaný soubor uložený. Jinými slovy, jaderná komunita našla způsob, jak přidat (volitelné) ověřování příznaků systémovému volání, u nějž se tradičně tato kontrola neprovádí.
Nedávno ovšem Eric Sandeen na MAP_SHARED_VALIDATE
narazil a uvědomil si, že jeho přidáním se chování mmap()
možná překvapivě změnilo. Dříve předání MAP_SHARED
a MAP_PRIVATE
způsobilo selhání volání mmap()
, nově však může uspět, tzn. nějaká aplikace mohla předávat tuto dvojici příznaků (aniž by tušila o existenci MAP_SHARED_VALIDATE
) s jiným výsledkem než nyní. Sandeen tuto změnu nazval „regresí“ a sepsal patch, který navrací původní chování v situaci, kdy chybí příznaky mimo onu „historickou“ skupinu, neboli MAP_SHARED_VALIDATE
selže, pokud nejde ověřit žádné zvláštní příznaky.
Tento patch ale začleněn nebude. Linus Torvalds zdůraznil, že změna chování sama o sobě není regresí. Aby o regresi šlo, změna by musela rozbít dříve funkční programy. Bity, ze kterých se MAP_SHARED_VALIDATE
skládá, byly vybrány právě proto, že žádný program, který je takto používal, nemohl být funkční, a tak se změnou ani nemohl rozbít. Torvalds to popsal jako logicky ekvivalentní přidání nového systémového volání: programy, které ho zkoušely volat, než bylo přidáno, se nepochybně dočkají změny chování, ale těžko to nazvat regresí.
Sandeenův patch by místo toho mohl způsobit selhání dnes funkčních volání mmap()
, některá aplikace totiž možná používá MAP_SHARED_VALIDATE
, ale už ne další příznaky vyžadující ověření. To by regrese byla. Takže chování MAP_SHARED_VALIDATE
se nezmění, dokud se neobjeví zprávy o rozbitých aplikacích (což se nejspíš nestane).
Zkušenosti ukazují, že programy mohou záviset na sebemenších detailech chování systému – již mnohokrát se vynořil Hyrumův zákon. Ale za těch šest měsíců od vydání 4.15 nebyly nahlášeny žádné problémy, tím pádem se zdá pravděpodobné, že tato konkrétní změna se obejde bez regresí. Jedna věc by však opravena být měla: manuálová stránka mmap()
stále tvrdí, že výsledkem předání MAP_SHARED
a MAP_PRIVATE
současně je chyba, což teď už není pravda. To je naštěstí snadno řešitelný problém.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: