Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.
Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.
První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.
Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci
… více »Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo
… více »Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.
Z aktuálních globálních statistik společnosti Statcounter: na desktopu má Linux celosvětově podíl 7,53 % (USA 11,92 %, Česko 4,31 %, Slovensko 4,36 %) a Firefox celosvětově podíl 6,51 % (USA 10,86 %, Česko 11,07 %, Slovensko 13,61 %).
Na GitHubu byl publikován seznam 55 kritických bezpečnostních chyb v SQLite s přiřazenými CVE čísly. JFrog Security informuje, že se jedná jenom o AI slop, části kódu na které CVE odkazují, v daných verzích vůbec neexistují. Upozorňuje také, že čísla CVE jsou přiřazována bez ověřování.
Příspěvek na blogu Google Security popisuje, jak tým Chrome Security využívá umělou inteligenci k zásadnímu zrychlení a zlepšení procesu odhalování, třídění a opravování bezpečnostních chyb v prohlížeči Chrome. Díky AI byla nalezena kritická chyba, která byla v kódu přes 13 let. Ve verzích Chrome 149 a 150 bylo opraveno více chyb než v předchozích 23 verzích dohromady.
9515 Neoprávněný přístup do paměti (SIGSEGV)
marek@mantisha:~> echo $BASH_VERSION 3.2.39(1)-release marek@mantisha:~>
).
Já jsem si ho musel upravit, aby to vůbec něco dělalo...
9027 Neoprávněný přístup do paměti (SIGSEGV) $ echo $BASH_VERSION 3.2.17(1)-release $ uname -a Linux HF 2.6.22-gentoo-r8 #14 Mon Mar 17 21:43:08 CET 2008 i686 Intel(R) Celeron(R) CPU 2.60GHz GenuineIntel GNU/Linux
11381
Segmentation fault
[progdan@notas ~]$ echo $BASH_VERSION
3.2.39(1)-release
[progdan@notas ~]$ uname -a
Linux notas 2.6.27-ARCH #1 SMP PREEMPT Sat Nov 8 09:52:52 UTC 2008 x86_64 Intel(R) Core(TM)2 Duo CPU T5250 @1.50GHz GenuineIntel GNU/Linux
PS: Do toho skriptu by to chtelo pridat volani te samotne funkceTo je jen maličká zkouška pozornosti
Linux f 2.6.25-gentoo-r7 #1 SMP Sun Aug 10 09:24:29 CEST 2008 x86_64 Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz GenuineIntel GNU/Linuxto dává segmentation fault pro 8441 rekusí za asi 20 sec. Kdežto pro starý sh ve versi pro
FreeBSD xxx.xxx.xxx.xxx 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Sun Sep 7 17:10:51 CEST 2008 xxx@xxx.xxx.xxx.xxx:/usr/obj/usr/src/sys/XXX i386to je plný počet rekursí během 1.2 (!!) sec. (Přitom jsem nahradil podminku [[ ... ]] za: test ...). Sneslo to i omezení na sto tisíc vnoření, víc jsem nezkoušel. (V obou případech to bylo zdržované vypisem na terminal.)
To ze to sleti je celkem normalni a pada to protoze dojde stack.
ulimit -s unlimited, pak už jen tak nespadne;)
man bash, vyhledat ulimit (jelikoz je to shell builtin). Dozvite se, ze:
-s The maximum stack size
Rychlejší než hledat v několikatisíciřádkovém manuálu je použít vestavěnou nápovědu: help ulimit
(Stačí jen párkrát zavolat POP (E)AX.)
Assembler jsem opustil někdy v dobách i486, ale není ten zásadní problém, že zatímco na data segment si nikdo nedovolí zapsat bez předchozí alokace, tak na stack segment se vesele zapisuje a optimisticky se očekává, že tam pořád nějaké místo bude.
Má vůbec na x86 smysl omezovat zásobník, ale neomezovat haldu? Vždyť oba jsou ve stejném virtuálním prostoru a operační systém má docela dobrou představu, které stránky jsou alokovány a které vyvolají výjimku.
Jak říkám, neznám detaily dnešní x86 architektury, ale podle manuálu sigaltstack(2) si mohu požádat operační systém o vytvoření náhradního zásobníku o velikosti, jakou si sám zvolím.
Někde jsem četl pěknou ukázku, jak tuhle službu používat. Zcela normálně se tam ta paměť nejprve malloc()ovala a pak se přes sigaltstack() zaregistrovala. Takže bych řekl, že fyzicky spojitý adresní prostor není třeba.
Podle mě to funguje tak, že ve virtuálním prostoru procesu máte zespoda rostoucí haldu a ze shora o dost pomaleji rostoucí zásobník (i když ten z dlouhodobého hlediska neroste, protože tak fungují dnešní programy). Pokud se procesor pokusí přistoupit za konec alokovaného zásobníku, tak se vyvolá přerušení, operační systém zjistí, že zasažená stránka sousedí se zásobníkem (tzn. zásobník je plný), a tak přialokuje další kus paměti k zásobníku (technicky vzato pouze nastaví atributy stránky), vrátí se do kontextu procesu a procesor restartuje vykonávání instrukce procesu. (Stejný mechanismus jako je obsluha výpadku stránky haldy/textu.)
Avšak pouze ve dvou případech operační systém odmítne prodloužit zásobník: buď se zásobník potkal s haldou (prostě došla paměť), nebo velikost zásobníku dosáhla run-time limit pro velikost zásobníku, který se nastavuje přes ulimit(1)/setrlimit(2). V takovém případě pošle procesu SIGSEGV a pokud proces nemá předchystán náhradní zásobník (siglatstack(2)) nebo neobsluhuje SIGSEGV, tak končí.
K tomu mě vede vzpomínka na manuál k céčkové funkci/makru, která alokuje virtuálně souvislý blok na vrcholu zásobníku, kde je poznámka cosi o dynamicky rostoucím zásobníku, který může potkat haldu. Taktéž existují podivné služby, kterými se mohu dotázat na libovolnou virtuální adresu, mohu nastavovat na daných regionech příznaky (jen pro čtení, nespustitelný) ad.. Takže docela odmítám věřit, že by správa zásobníku zhlediska operačního systému byla tak předpotopně žádná.
a tak přialokuje další kus paměti k zásobníku (technicky vzato pouze nastaví atributy stránky)
Zapomněl jsem dodat, že také nastaví záznamy v TLB, aby k virtuální stránce existovala fyzická.
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
8308
Segmentation fault
12468 Segmentation fault milos@raketa:/tmp$ echo $BASH_VERSION 3.2.39(1)-release
12464 Neoprávněný přístup do paměti (SIGSEGV) [user@host ]$ echo $BASH_VERSION 3.2.39(1)-release
ulimit -s unlimited zaberie. Mozno je v Ubuntu nastaveny defaultne inak. Limit je dostatocne velky, ale aj tak by som uvital nejake ine riesenie, nez spadnut na SEGFAULT.
by som uvital nejake ine rieseniePřevést na cyklus?
Tiskni
Sdílej: