» »

Linux odpravil 20 let starega namernega hrošča

Linux odpravil 20 let starega namernega hrošča

Slo-Tech - Pisali smo že o ranljivosti, ki so se v kakšni kodi skrivale desetletja, to pot pa gre za dvajset starega hrošča v kodi, ki je bil tam namenoma. Pred dvajsetimi leti je bilo upravljanje z energijo ACPI še v povojih, strojna oprema pa ni vedno delovala, kot bi pričakovali. Na sistemih z AMD-jevimi procesorji Athlon se je zgodilo, da procesor ni hotel v stanje pripravljenosti, ko smo to od njega želeli, zato je Linuxovo jedro dobilo berglo. Tako imenovano prazno čakanje (dummy wait op) je predstavljalo izvajanje nepotrebnih bralnih operacij, ki so poskrbele, da je imel procesor čas izvesti ukaz STPCLK#.

Dvajset let pozneje je v kodi še vedno enak pristop, čeprav so moderni Threadripperji neprimerljivi z Athloni, predvsem pa niso pokvarjeni. Težave dlje časa ni nihče opazil, ker ni bila zelo očitna. A novi procesorji imajo čedalje več jeder, prilagajanje frekvence in več stanj delovanja, ko se posamezne funkcije procesorja lahko izklopijo. Zaradi varčevanja z energijo se to pogosto dogaja med delovanjem. Rezultat so čedalje opaznejše upočasnitve, saj se vsakokrat brez potrebe čaka.

AMD-jev inženir Prateek Nayak je v Linuxove gonilnike za procesorje dodal popravljeno kodo, ki to čakanje odpravlja. Testi so pokazali, da so pohitritve občutne. Popravek bo del jedra Linuxa 6.0. Z Intelovimi procesorji težav ni, ker uporabljajo drugo kodo (MWAIT) že dobro desetletje.

23 komentarjev

filip007 ::

Pohvalno, vsa čakalna stanja so potratna, samo nekje so nujna, kot v tem primeru.

Meni je Ryzen 1, zmrzoval enkrat na teden, če sem šel gledat kaj se je zgodilo, sem ven dobil ven strojno napako, nimam več tega sistema, nevem ali je to to?
Toshiba L650 + SSD + Ubuntu LTS.

user1618 ::

Grem stavit, da so to v zaprtih verzijah linuxa vsaka firma po svoje že zdavnaj popravili, npr. v sistemih, kjer je procesorski timing ključnega pomena. Problem je, ker večina njih ne commita nazaj v skupnost.
"If we were supposed to talk more than listen
we would have been given two mouths and one ear"
- Mark Twain

WhiteAngel ::

user1618 je izjavil:

Grem stavit, da so to v zaprtih verzijah linuxa vsaka firma po svoje že zdavnaj popravili, npr. v sistemih, kjer je procesorski timing ključnega pomena. Problem je, ker večina njih ne commita nazaj v skupnost.


Verjetno so take v glavnem na Intelih.

DamijanD ::

A workaround je "namerni hrošč"?

googleg1 ::

user1618 je izjavil:

Grem stavit, da so to v zaprtih verzijah linuxa vsaka firma po svoje že zdavnaj popravili, npr. v sistemih, kjer je procesorski timing ključnega pomena. Problem je, ker večina njih ne commita nazaj v skupnost.
Licenca Linuxa to prepoveduje. Ce firma spremeni Linux jedro, mora dati na voljo spremembe vsem zainteresiranim. V praksi to ni ravno vedno, sigurno pa vecje firme to spostujejo.

MrStein ::

DamijanD je izjavil:

A workaround je "namerni hrošč"?

Bil je workaround za athlone. Za novejše cpu pa je le bug.

Zakaj ni (bil) omejen na določene modele cpu pa je vprašanje. Verjetno logika "better safe than sorry".
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Peter18 ::

googleg1 je izjavil:

Licenca Linuxa to prepoveduje. Ce firma spremeni Linux jedro, mora dati na voljo spremembe vsem zainteresiranim. V praksi to ni ravno vedno, sigurno pa vecje firme to spostujejo.

GPL tega ne pravi. Če jaz nekaj flikam po gpl kodi, mi ni treba tebi nič kazat kaj delam.

win64 ::

Peter18 je izjavil:


GPL tega ne pravi. Če jaz nekaj flikam po gpl kodi, mi ni treba tebi nič kazat kaj delam.

Tako je. Če jaz prav razumem GPL, mora uporabnik imeti kodo na vpogled. Naj me kdo popravi, če se motim.

mn ::

win64 je izjavil:

Peter18 je izjavil:


GPL tega ne pravi. Če jaz nekaj flikam po gpl kodi, mi ni treba tebi nič kazat kaj delam.

Tako je. Če jaz prav razumem GPL, mora uporabnik imeti kodo na vpogled. Naj me kdo popravi, če se motim.


Jaz tudi tako razumem. Če delaš zase, ni treba nikomur dati v vpogled spremenjene kode.

Če prodaš produkt, moraš zraven priložiti izvorno kodo, ki jo kupec lahko prosto razširja naprej če želi. Ni pa kupec obvezan deliti kode s komerkoli drugim če je ne želi.

Mohimm ::

filip007 je izjavil:

Pohvalno, vsa čakalna stanja so potratna, samo nekje so nujna, kot v tem primeru.

Meni je Ryzen 1, zmrzoval enkrat na teden, če sem šel gledat kaj se je zgodilo, sem ven dobil ven strojno napako, nimam več tega sistema, nevem ali je to to?


Bolj verjetno tole:
https://wiki.gentoo.org/wiki/Ryzen#Rand...

Kar je podobno HW/FW/SW kombinacija skakanja med različnimi sleep state-i...

filip007 ::

Ja to bo verjetno, so to popravili ali je samo Ryzen 1 problem?
https://bbs.archlinux.org/viewtopic.php...
Toshiba L650 + SSD + Ubuntu LTS.

Mohimm ::

Popravljeno. Prve verzije prve generacije... Uporabljam 1k,3k,5k,.. serije in se pojavlja pri meni samo pri zgodnjem 1700. Dodan kernel parameter - deluje stabilno 24/7.

mtosev ::

Nekak žalostno je da je do tega buga sploh prihajajo na novejših Zen AMDjevih cpujih.
Core i9 10900X, ASUS Prime X299 Edition 30, 32GB 3600mhz Gskill
ASUS ROG Strix RTX 2080 Super, Samsung 970 PRO, UP3017, Win 11 Pro
moj oče darko 1960-2016, moj labradorec max 2002-2013

Ghost7 ::

mtosev je izjavil:

Nekak žalostno je da je do tega buga sploh prihajajo na novejših Zen AMDjevih cpujih.

Dej še enkrat preber novico...
https://www.bitstamp.net/ref/OM6lA9mwoeRO5Rba/

MrStein ::

mn je izjavil:


Če prodaš produkt, moraš zraven priložiti izvorno kodo,

Ne, ne rabiš je.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

LightBit ::

MrStein je izjavil:

mn je izjavil:


Če prodaš produkt, moraš zraven priložiti izvorno kodo,

Ne, ne rabiš je.

Lahko pa zahtevajo izvorno kodo sprememb.

LightBit ::

DamijanD je izjavil:

A workaround je "namerni hrošč"?

Pod namerni hrošč bi jaz razumel stranska vrata.

mr_chai ::

LightBit je izjavil:

DamijanD je izjavil:

A workaround je "namerni hrošč"?

Pod namerni hrošč bi jaz razumel stranska vrata.


zakaj bi to tako razumel ? stranska loputa ni hrošč. Je včasih tudi legitimen kos programske opreme.

LightBit ::

Seveda ni hrošč, ampak je lahko krinka, da sploh ne veš ali je namerno ali ne.

googleg1 ::

Peter18 je izjavil:

googleg1 je izjavil:

Licenca Linuxa to prepoveduje. Ce firma spremeni Linux jedro, mora dati na voljo spremembe vsem zainteresiranim. V praksi to ni ravno vedno, sigurno pa vecje firme to spostujejo.

GPL tega ne pravi. Če jaz nekaj flikam po gpl kodi, mi ni treba tebi nič kazat kaj delam.
A nisem jasno napisal, da ce firma spremeni jedro. Linux skupnost zivi od prispevka firm. Zato sem se obregnil ob komentar, da firme skrivajo popravke za take hrosce kot je opisan v novici.

Lonsarg ::

Za lastno uporabo tudi firma lahko skrije popravke na GPL kodi in jih ima le zase.

Ampak v praksi se tega ne pocne pri kernelu, ker potem bi ta firma morala vzdrževati fork za vsak kernel release in je v interesu firme da tak popravek pride do glavnegs brancha da se temu vzdrževanju ognejo.

FireSnake ::

mtosev je izjavil:

Nekak žalostno je da je do tega buga sploh prihajajo na novejših Zen AMDjevih cpujih.


Si pismen ti?
Saj ni!
Poglej in se nasmej: www.vicmaher.si

Surstromming ::

googleg1 je izjavil:

Peter18 je izjavil:

googleg1 je izjavil:

Licenca Linuxa to prepoveduje. Ce firma spremeni Linux jedro, mora dati na voljo spremembe vsem zainteresiranim. V praksi to ni ravno vedno, sigurno pa vecje firme to spostujejo.

GPL tega ne pravi. Če jaz nekaj flikam po gpl kodi, mi ni treba tebi nič kazat kaj delam.
A nisem jasno napisal, da ce firma spremeni jedro. Linux skupnost zivi od prispevka firm. Zato sem se obregnil ob komentar, da firme skrivajo popravke za take hrosce kot je opisan v novici.


Vseeno je kdo spremeni karkoli, pod GPL mu ni treba dati nicesar na vpogled. Dokler ostane lepo za interno uporabo.
Pojdite volit drugi krog volitev. Prepricujejo vas, da se ne
splaca, zato, da bi SDS (Logar) sploh imel moznost zmagati.
In v kolikor bo, bo to zato, ker se niste udelezili volitev.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Google želi poenotiti jedri Linuxa in Androida

Oddelek: Novice / Operacijski sistemi
4310153 (6318) c3p0
»

Zaradi hude ranljivosti bodo Intelovi procesorji do 50 odstotkov počasnejši (strani: 1 2 3 410 11 12 13 )

Oddelek: Novice / Procesorji
620103246 (73238) krneki0001
»

Spectre in Meltdown zakrpana na ravni operacijskih sistemov (strani: 1 2 )

Oddelek: Novice / Varnost
8215470 (10521) jype
»

Kaj vemo o napadih Spectre in Meltdown na procesorje (strani: 1 2 )

Oddelek: Novice / Varnost
9126539 (21034) D3m
»

30 let x86 arhitekture (strani: 1 2 3 4 5 )

Oddelek: Novice / Kiberpipa
22520116 (8573) BigWhale

Več podobnih tem