V bezdrátových routerech od společnosti routerech D-Link, v řadách EAGLE PRO AI a AQUILA PRO AI, je zabudovaný backdoor. Jedná se o zranitelnosti CVE-2024-6044 a CVE-2024-6045. Kdokoli z lokální sítě může přístupem na konkrétní URL spustit službu Telnet a přihlásit se pomocí přihlašovacích údajů správce získaných analýzou firmwaru.
Organizace IuRe (Iuridicum Remedium) varuje před návrhem, který představilo belgické předsednictví Rady EU. Populární služby jako Messenger, WhatsApp nebo Signal by dle něj bylo možné plně používat až po odsouhlasení kontroly komunikace. Ta by měla zamezit šíření dětské pornografie. Podle IuRe by však taková kontrola přinesla hlavně závažný dopad na soukromí uživatelů.
NumPy (Wikipedie), tj. knihovna pro Python pro vědecké výpočty, byla po 18 letech vydána v nové major verzi 2.0.0. Přehled novinek v poznámkách k vydání. Důležité informace v průvodci migrací.
Vývojáři postmarketOS vydali verzi 24.06 tohoto před sedmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, KDE Plasma a Sxmo. Aktuálně podporovaných zařízení je 50.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Google Blog ČR informuje, že mobilní aplikaci Gemini a NotebookLM lze používat už také v Česku.
Byla vydána nová major verze 8 duálně licencovaného open source frameworku JUCE (Wikipedie, GitHub) pro vývoj multiplatformních audio aplikací.
Od 18. června bude možné předobjednat notebook DC-ROMA RISC-V LAPTOP II od společnosti DeepComputing s osmijádrovým 64-bit RISC-V AI CPU a s předinstalovaným Ubuntu.
Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.
Občas není od věci vyslovit něco, za co se upaluje nebo ukamenovává. Nic není totiž tak jednoduché, aby byla pravda vždy jediná a na první pohled zřejmá.
Je příjemné alokovat si více paměti, než je k dispozici. Na druhou stranu, má to dost nepříjemná úskalí. Mnohokrát jsem o tom přemýšlel, ptal jsem se řady lidí na jejich názor, ale jisté zůstává jenom jedno - je to záležitost vysoce kontroverzní.
Pravděpodobně všichni vědí, o co jde - ale raději to aspoň ve stručnosti nastíním:
Pokud se alokuje paměť (např. funkcí malloc()
v jazyce C), paměť k dispozici buďto je (a v tom případě volání skončí úspěchem, paměť se alokovala), anebo není (a volání skončí neúspěchem). Protože programy obvykle alokují více paměti, než jí pak skutečně využijí (je to z různých důvodů, někdy je skutečné využití velmi malé, např. u málo vytížených serverových aplikací), používá se technika zvaná overcommitting (česky bych řekl třeba "přealokace", ale není to přesné). Z pohledu aplikace to vypadá tak, že alokace skončí vždycky úspěšně, i když dané množství k dispozici není. Většinou to není problém, systém úspěšně funguje.
Problém nastane, když je alokováno víc paměti, než může systém dát k dispozici (když selžou veškeré pokusy o uvolnění paměti). Pak nastupuje hrubé násilí - v Linuxu reprezentované procesem oom-killer
. Ten se spustí ještě dřív, než k dané situaci dojde (spouští se při poklesu volné paměti pod určitý práh) a vytipuje vhodné kandidáty na odstřelení. Pokud už skutečně není volná paměť, oom-killer
zlikviduje proces, který byl nejžhavějším kandidátem. A tak pokračuje tak dlouho, dokud nejsou požadavky uspokojeny.
Otázka je, zda je použití overcommittingu vůbec výhrou. Jednoznačná odpověď není, čím dál víc jsem ale přesvědčen, že minimálně v prostředí, kde požadujeme stabilitu, své místo nemá (jen pro úplnost - overcommitting lze snadno vypnout). Poměrně snadno lze totiž takový systém destabilizovat.
Před časem jsem si tu stěžoval na problémy s X.org v souvislosti se zběsilou alokací paměti. Tato alokace souvisela s prohlížečem Opera, nicméně paměť alokoval X server. A nejen že alokoval, ale také nějak používal (podrobnosti neznám), takže brzy (za několik sekund) došlo k tomu, že se vyčerpala veškerá paměť včetně swapu a došlo na nejhorší. To co se dělo dál, nešlo předem předvídat - oom-killer
(aspoň ten v jádře 2.6.10) je špatný střelec a svůj cíl si často vybere nevhodně. Takže i když by měl být sestřelen původce (tj. X server; správněji spíš Opera, ale takovou inteligenci od "ničitele" chtít nemůžeme), odnesl to často jiný, zcela nevinný proces.
Jaké nebezpečí z toho plyne, je zřejmé. Jakýkoli program, který v systému běží, ho snadno může zásadním způsobem poškodit, aniž by dělal nějakou složitou činnost. Stačí pouze alokovat paměť. Bez overcommittingu by jeho alokace byla prostě najednou neúspěšná, a i když by se mu podařilo vyčerpat volnou paměť, přímé následky by nebyly. Kdežto takto by mu mohlo za oběť padnout i několik procesů, než by byl sám sestřelen.
Nechávám celou věc otevřenou, jednoznačný názor jsem si neudělal. Jen si říkám, zda cena, která se platí za možnost "kouzelného nafouknutí" paměti, není příliš vysoká.
Tiskni Sdílej:
V případě, že jseš přihlášený, tak toho žrouta paměti taky nezabiješ, protože program kill nedostane žádnou paměť.Proto je taky kill zabudovany prikaz shellu (prinejmensim bash a zsh).
kill -9
nemá fatální následky, dopadne (aspoň u mě) úplně stejně, jako kdybych stiskl Ctrl-Alt-BkSp.
echo 2 > /proc/sys/vm/overcommit_memoryNejhorší zkušenosti s nedostatkem přealokované paměti mám taky pod Xkama, pravým původcem je pro změnu Mozilla/FireFox (je jedno, co je to za verzi). Poprvé jsem si toho všiml na své celkem nevinně vyhlížející stránce s naskenovanými skripty. Na novějších počítačích s větší pamětí (>= 512 MB), nebo i na starších s Konquerorem (nebo s Mozillou/IE pod Windows) nehrozí žádné nebezpečí, pod Linuxem s Mozillou/FireFoxem a 256 MB RAM+128 MB swapem to ale končí špatně... P.S.: Ta stránka obsahuje jen 96 PNG obrázků s celkovou velikostí cca 2,5 MB.
/sbin/sysctl -p
. Takže se tím neřeší nic... Nebylo by od věci si ten overcommit zakázat rovnou ve zdrojácích jádra
:cat /etc/init.d/procps.sh | grep sysctl # /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf [ -x /sbin/sysctl ] || exit 0 if [ ! -r /etc/sysctl.conf ] eval "/sbin/sysctl $n -q -p $redir"