Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
http://server.apnet.cz/error/Dostávám Error 403 Forbidden.
Oops: 0002 [#1]
Modules linked in: vmnet(P) vmmon(P) af_packet
CPU: 0
EIP: 0060:[<c026e1e1>] Tainted: P VLI
EFLAGS: 00010286 (2.6.19-gentoo-r5 #9)
EIP is at rhine_interrupt+0x5e1/0x910
eax: 8596290 ebx: 00010000 ecx: 00000002 edx: 0000e400
esi: 0000000 edi: 00016809 ebp: c146b25f esp: c0445f2c
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, ti=c0444000 task=c03d5420 task.ti=c0444000)
Stack: c049669c 00000282 c153aac0 c0496420 00000282 c146b000 0001e400 00000002
00000014 dde4ae00 dde4ea00 dd2f88e0 00000000 00000000 00000000 0000000b
c012ae81 c043af80 0000000b ca445fb4 00000580 c012bebf 00000000 0000000b
Call Trace:
[<c012ae81>] handle_IRQ_event+0x1a/0x3f
[<c012bebf>] handle_level_irq+0x66/0xa3
[<c01049bc>] do_IRQ+0x6b/0x83
[<c034c4d6>] __sched_text_start+0x486/0x4e9
[<c010306e>] common_interrupt+0x1a/0x20
[<c01016b3>] default_idel+0x31/0x59
[<c0101715>] cpu_idle+0x3a/0x4f
[<c044665a>] start_kernel+02a6/0x2aa
[<c04461ea>] unknown_bootoption+0x0/0x206
Code: 49 c0 e8 1d 9b ea ff 53 9d 8b 85 d0 01 00 00 c7 84 bd 90 00 00 00 00 00 00 00 40 89 85 d0 01 00 00 89 c7 8b 85 cc 01 00 00
83 e7 <0f> 39 85 d0 01 00 00 0f 85 89 fe ff ff 8b 85 cc 01 00 00 2b 85
EIP: [<c026e1e1>] rhine_interrupt+0x5r1/0x910 SS:ESP 0068:c0445f2c
<0>Kernel panic - not syncing: Fatal exception in interrupt
Dneska mi to lehlo znovu i kdyz jsem prikompiloval moznost "Use MMIO instead of PIO" a "Use Rx Polling (NAPI)". Bohuzel jsem nemel cas opisovat celou chybu z obrazovky. Jenom na radku byli jine moduly. "vmnet(P) vmmon(P) ar_packet via_rhine".
V /var/log/messages nic zajimave neni.
Opravdu by se hodil i ten soubor drivers/net/via-rhine.o. A kdybys mohl udělat make drivers/net/via-rhine.s a ten soubor pak taky vystavit, bylo by to ještě lepší. Všechny 3 věci (2 soubory a ten výpis Oops) musí být ze stejné verze, aby to k něčemu bylo.
Vidím, že tento výpis je z jádra pošpiněného proprietárními moduly. Ale ten první Oops byl skoro stejný a z čistého jádra, takže tím to není.
Oops: 0000 [#1]
Modules linked in: vmnet(P) vmmon(P) ar_packet via_rhine
CPU: 0
EIP: 0060:[<de873a8a>] Tainted: P VLI
EFLAGS: 00010293 (2.6.20-gentoo-r8 #1)
EIP is at rhine_interrupt+0270/0x605 [via-rhine]
eax: 0007a590 ebx: 00000000 ecx: 00000002 edx: 0007a5fc
esi: 00000000 edi: 00000000 ebp: c1612a60 esp: c044ff3c
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, ti=c044e000 task=c040b420 task.ti=c044e000)
Stack: 00000000 00000286 00000100 c048a540 c011a8ef de836000 00000002
00000014 00000000 dde208a0 00000000 00000000 c012aa91 c0444f80
0000000b c0442000 004cf007 c012baea 00000000 c01049b9 c044ffe4
Call Trace:
[<c011a8ef>] process_timeout+0x0/0x5
[<c012aa91>] handle_IRQ_event+0x1a/0x3f
[<c012baea>] handle_level_irq+0x66/0xa0
[<c01049ba>] do_IRQ+0x5c/0x73
[<c0103057>] common_interrupt+0x23/0x28
[<c0101719>] default_idel+0x27/0x39
[<c0100f33>] cpu_idle+0x3a/0x4f
[<c045065b>] start_kernel+02ab/0x2af
[<c04501ae>] unknown_bootoption+0x0/0x202
=======================
Code: 00 83 3d 80 70 87 de 06 7e 1f 89 f8 c1 fb 03 83 e0 0f 89 44 24 08 89 5c 24
08 89 5c 24 04 c7 04 24 c0 r1 18 61 db 9c 82 a3 9b b0 90 <26> a1 df bd 6e ec
d6 ed ef 8a b4 d2 e7 e1 73 b5 2a 64 cc 5d b6
EIP: [<de873a8a>] rhine_interrupt+0x270/0x608 SS:ESP 0068:c044ff3c
<0>Kernel panic - not syncing: Fatal exception in interrupt
Bezva. Tak jsem to prozkoumal. Bylo to trošku komplikovanější, protože při přepisování Oopsu jste se buď musel několikrát splést a nebo byl systém v daleko horším stavu, než to na první pohled vypadalo, takže nebyl schopen Oops korektně vypsat. Očividné chyby jsou např.:
EIP is at rhine_interrupt+0270/0x605 [via-rhine] ... EIP: [<de873a8a>] rhine_interrupt+0x270/0x608 SS:ESP 0068:c044ff3c
Jednou má funkce délku 0x605, podruhé 0x608. Správná hodnota je 0x605.
Code: ... r1 ...
Velmi zvláštní hexadecimální číslo.
Ten kód jsem podrobil detailnějšímu zkoumání. Napřed jsem v objektu via-rhine.o vůbec nemohl najít kus, který by tomu odpovídal, ale pak se přece jen něco objevilo. Ten kód je zhruba toto:
83 3d 80 70 87 de 06 cmpl $0x6, 0xde877080 7e 1f jle +0x1f 89 f8 movl %edi,%eax # správně tady mělo být asi s/f8/d8/ a tudíž s/edi/ebx/ c1 fb 03 sarl $0x3,%ebx 83 e0 0f andl $0xf,%eax # myslím, že zde vypadla celá jedna instrukce: # 83 e3 0f andl $0xf,%ebx 89 44 24 08 movl %eax,0x8(%esp) # a tahle je tu naopak navíc: 89 5c 24 08 movl %ebx,0x8(%esp) 89 5c 24 04 movl %ebx,0x4(%esp) c7 04 24 c0 r1(!) 18 61 movl $0x6118r1c0(!),(%esp) # teď měl následovat call na printk a další instrukce, # ale následující byty jsou naprosto mimo: db 9c 82 a3 9b b0 90 <26> a1 df bd 6e ec d6 ed ef 8a b4 d2 e7 e1 73 b5 2a 64 cc 5d b6
Prostě ten kód odpovídá programu v via-rhine.s od labelu ".L461:" dále. Jenže od toho volání printk dále už to vůbec jako ten správný kód nevypadá ani omylem. Ve zdrojáku je to tahle část funkce rhine_tx():
if (rp->quirks & rqRhineI) rp->stats.collisions += (txstatus >> 3) & 0x0F; else rp->stats.collisions += txstatus & 0x0F; if (debug > 6) printk(KERN_DEBUG "collisions: %1.1x:%1.1x\n", (txstatus >> 3) & 0xF, txstatus & 0xF); rp->stats.tx_bytes += rp->tx_skbuff[entry]->len; rp->stats.tx_packets++;
Takže jaké jsou možnosti:

Tiskni
Sdílej: