Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.
BarraCUDA je neoficiální open-source CUDA kompilátor, ale pro grafické karty AMD (CUDA je proprietární technologie společnosti NVIDIA). BarraCUDA dokáže přeložit zdrojové *.cu soubory (prakticky C/C++) přímo do strojového kódu mikroarchitektury GFX11 a vytvořit tak ELF *.hsaco binární soubory, spustitelné na grafické kartě AMD. Zdrojový kód (převážně C99) je k dispozici na GitHubu, pod licencí Apache-2.0.
Podvodné reklamy na sociálních internetových platformách, jako je Facebook, Instagram nebo X, vytvořily loni v Česku jejich provozovatelům příjmy 139 milionů eur, tedy zhruba 3,4 miliardy korun. Proti roku 2022 je to nárůst o 51 procent. Vyplývá to z analýzy Juniper Research pro společnost Revolut. Podle výzkumu je v Česku zhruba jedna ze sedmi zobrazených reklam podvodná. Je to o 14,5 procenta více, než je evropský průměr, kde je podvodná každá desátá reklama.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.6 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Czkawka a Krokiet, grafické aplikace pro hledání duplicitních a zbytečných souborů, byly vydány ve verzi 11.0. Podrobný přehled novinek v příspěvku na Medium. Od verze 7.0 je vedle frontendu Czkawka postaveného nad frameworkem GTK 4 vyvíjen nový frontend Krokiet postavený nad frameworkem Slint. Frontend Czkawka je už pouze v udržovacím módu. Novinky jsou implementovány ve frontendu Krokiet.
Jiří Eischmann na svém blogu publikoval článek Úvod do MeshCore: "Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky.
… více »Byla vydána verze 0.5.20 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.
Peter Steinberger, autor open source AI asistenta OpenClaw, nastupuje do OpenAI. OpenClaw bude převeden pod nadaci a zůstane otevřený a nezávislý.
Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2025. Ke konci roku 2025 vlastnila 349 462 pevných disků. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, byla 1,36 %. V roce 2024 to bylo 1,57 %. V roce 2023 to bylo 1,70 %. V roce 2022 to bylo 1,37 %.
Aktuální vývojová verze jádra je 3.14-rc4 vydaná 23. února. Linus ji okomentoval slovy: Nic velkého nebo obzvláště strašidelného.
Stabilní aktualizace: verze 3.13.4, 3.12.12, 3.10.31 a 3.4.81 vyšly 20. února, verze followed by 3.13.5, 3.12.13, 3.10.32 a 3.4.82 pak 22. února.
A teď vážně, všichni, kdo stále používají tasklety, aniž by si byli vědomi jejich nenápadných problémů a měli zatraceně dobrý důvod je používat, by si měli vzít štípačky nebo nějaký jiný vhodný nástroj, aby zneškodnili svou klávesnici a začali pracovat v pekárně, kde mohou jíst vše, co si sami nadrobili.
Rád dávám patchům několik týdnů pořádný záhul, než je předám dál. Mám tu zkušenost, že když to neudělám, tak dostanu zanedlouho záhul já.
Jedním z důležitých kroků při přidávání argumentu flags pro příznaky do systémového volání je ověřování, zda tento argument obsahuje jen podporované hodnoty. Pokud se tak nestane, tak si zavaříme na řadu problémů s kompatibilitou do budoucna. Pohled na historii vývoje systémových volání na Linuxu (a Unixu) ale ukazuje, že dělá lidem problém si na to zvyknout.
Každý argument s příznaky (nebo jakoukoliv jinou vstupní strukturou, která obsahuje pole s příznaky) by měl mít příslušnou kontrolu, která může vypadat následovně:
if (flags & ~(FL_XXX | FL_YYY)) return -EINVAL;
Zde FL_XXX a FL_YYY představují hypotetickou sadu příznaků, kterým systémové volání rozumí, důsledkem této kontroly je pak vrácení chyby, pokud volající nastaví jakýkoliv bit, které není v seznamu podporovaných. Podobné kontroly připravují toto API na budoucnost, tedy aby bylo možné systémové volání rozšířit o dodatečné příznaky. Představme si, že systémové volání má nový příznak nazvaný FL_ZZZ a mění tedy kontrolu následovně:
if (flags & ~(FL_XXX | FL_YYY | FL_ZZZ)) return -EINVAL;
Aplikace v uživatelském prostoru je nyní schopna ověřit, jestli běží pod jádrem, kde dané systémové volání podporuje FL_ZZZ, a to tak, že si pohlídá chybu EINVAL při uskutečňování volání. Díky tomu mají aplikace možnost řešit rozdíly v systémových voláních napříč verzemi jádra.
I když implementace podobných kontrol v jádře může vypadat jednoduše, ukazuje se, že spousta systémových volání tuto kontrolu nedělá, a to včetně clock_nanosleep(), clone(), epoll_ctl(), fcntl(F_SETFL), mmap(), msgrcv(), msgsnd(), open(), recv(), send(), sigaction(), splice(), unshare() a spousty dalších.
Většina těchto volání tu s námi je už celé roky. Mladší volání, která argument flags mají, nezbytnou kontrolu zpravidla obsahují. I mezi nimi se ale najde pár takových, které ji nemají, jako jsou open_by_handle_at() (2.6.39), recvmmsg() (2.6.33) a sendmmsg() (3.0). V těchto případech autor možná emuloval nepřítomnost takové kontroly u příslušných dřívějších volání (open(), recv(), send()). Jde ale o promeškanou příležitost, jak původní API vylepšit.
U každého volání, které u argumentu flags postrádá kontrolu, pak nemají aplikace v uživatelském prostoru možnost jak zjistit, které příznaky daná verze jádra podporuje. Opomenutí implementovat tyto kontroly v jádře pak představuje komplikaci i pro životy jaderných vývojářů, což několik vzniklých situací dokazuje.
Pokud jádro nekontroluje, že ve flags dostává jen platné bity, pak mohou aplikace beztrestně do „nevyužitých“ bitů ve flags dávat náhodný bordel. Jestliže se pak jaderný vývojář rozhodne využít některý z nevyužitých bitů, tak může docházet k překvapivým poruchám v aplikacích, což zase může vést k tomu, že jaderný vývojář bude muset psát neoptimální implementace nových funkčností v API. Příkladem z nedávné doby budiž implementace příznaku EPOLLWAKEUP, kde snaha vyhnout se rozbití uživatelského prostoru vede k tomu, že jádro tiše ignoruje tento příznak, pokud volající proces nemá právo CAP_BLOCK_SUSPEND. V ideálním případě by samozřejmě jádro volajícího o chybě informovalo navrácením chyby. Následkem toho aplikace, které si chtějí být naprosto jisté, že volání uspěje, si musí explicitně ověřit, že mají právo CAP_BLOCK_SUSPEND.
Ještě čerstvějším případem je implementace příznaku O_TMPFILE u open(), kdy definice příznaku zahrnuje příznak O_DIRECTORY s tím účelem, aby starší jádra, která O_TMPFILE neznají, vrátila chybu v případě, že je tento příznak použit. Bylo potřeba to tak udělat proto, že aplikace vytvářející dočasné soubory si jsou často vědomy bezpečnostních důsledků a potřebují vědět, zda bylo požadavku na vytvoření skrytého dočasného souboru vyhověno. Bez této úpravy by příznak O_TMPFILE byl na starších jádrech prostě ignorován a aplikace by nevědomky vytvářela viditelný soubor. Nepříjemným vedlejším účinkem je pak to, že aplikace musejí kontrolovat vrácení dvou různých chybových hodnot, aby zjistily, zda běží na jádře, které O_TMPFILE nepodporuje.
Dále stojí za zmínku, že několik systémových volání přidalo kontrolu argumentu flags až po počáteční implementaci. Mezi ně patří dvě stará volání umount2() (kontrola přidána v Linuxu 2.6.34) a swapon() (kontrola přidána v Linuxu 3.4). Dále je tu pak mremap(), které se poprvé objevilo v Linuxu 2.0 a bylo rozšířeno o kontrolu v Linuxu 2.4, a volání timerfd_settime(), které se poprvé objevilo ve verzi 2.6.25 a bylo o kontrolu rozšířeno v Linuxu 2.6.29.
Přidání kontrol do těchto volání ale představuje vyjímku z pravidla, že podobné kontroly nelze přidávat, jelikož by mohlo dojít k rozbití stávajících aplikací, které předávají nahodilý bordel v „nevyužitých“ bitech argumentu flags. U umount2() a swapon() bylo možné změnu udělat snad proto, že mimo příkazy mount a swapon je málokdo používá a tyto programy by bylo možné v případě rozbití jednoduše opravit. V případě timerfd_settime() došlo ke změně krátce po počáteční implementaci, kdy toto rozhraní moc programů asi ještě nepoužívalo. A v případě mremap() došlo ke změně při velkém skoku verze jádra (mezi 2.2 a 2.4), kdy byly takové změny ABI výjimečně povoleny; při současném 10týdenním vývojovém cyklu takové změny možné nejsou.
Proto, když kontrola nepoužívaných bitů příznaků není zařazena do počáteční implementace, nebývá možné ji doplnit později. Jednoznačným závěrem tedy je, že náležité kontroly by měly být přidány hned zkraje.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
I like to hammer new patches for a few weeks before passing them on. My experience is that if I fail to do so, they hammer me somewhat later.a
Rád dávám patchům několik týdnů pořádný záhul, než je předám dál. Mám tu zkušenost, že když to neudělám, tak dostanu zanedlouho záhul já.Tohle me hned chytlo za usi, preklad posledni vety je cely dosti mimo.
... , tak [oni] daji pozdeji zahul mne.Tohle vam v komunikaci prinese problemy.
jaky rozdil v tom vy vidite.No, asi takový, jako autor překladu, který to přeložil jako zanedlouho a ne později.
P.S. Kdo oni? Snad ony?Muzsky nezivotny, nominativ by asi mel byt skutecne "ony". Vyrustal jsem v prostredi, kde se pouzivalo jen "oni". V jake oblasti CR se prirozene mluvi podle doporucenych pravidel Ustavu pro jazyk cesky?
V jake oblasti CR se prirozene mluvi podle doporucenych pravidel Ustavu pro jazyk cesky?No, to je tak, když někdo nesmyslně rejpe do překladu, a pak to sám zkomolí tak, že to nedává smysl...
V jake oblasti CR se prirozene mluvi podle doporucenych pravidel Ustavu pro jazyk cesky?Jak se mluvi je vzhledem k psane forme komentare irelevantni, ale pise se tak snad ve vsech oblastech.
Originál: "It sounds very much like a fireball or an extra-bright meteor, meaning a chunk of rock from space that got in the way of Earth and burns up in the atmosphere."
Překlad: "Podle výpovědí to vypadá na obyčejnou ohnivou kouli, nebo velice jasný meteorit."