Firefoxi zlib-rs-ile migreerimisel kohtasid arendajad Inteli protsessorites viga.

Trifecta Tech Foundation, selliste projektide nagu ntpd-rs, sudo-rs, zlib-rs ja bzip2-rs arendaja, teatas Firefoxi ĂŒleminekust zlib-rs teeki kasutama gzip-i tihendamiseks ja lahtipakkimiseks. Lisaks mĂ€luvigade eest kaitsmisele tĂ”i zlib-ilt zlib-rs-ile ĂŒleminek kaasa mĂ€rkimisvÀÀrse jĂ”udluse kasvu – testides oli kiirendus ĂŒksikute dekodeerimisoperatsioonide puhul 3.3–32.5 korda ja pideva voo dekodeerimise puhul 2.7–10.86 korda.

Zlib-rs teek oli kaasatud Firefoxi versioonis 151, kuid pÀrast selle integreerimist kohtasid mÔned kasutajad probleemi, mis pÔhjustas programmi krahhi piiridest vÀljaspool toimuva tÀitmise tÔttu. MÀrgiti, et Rusti koodis pÔhjustas probleem krahhi, samas kui C-koodis oleks sarnane olukord toonud kaasa vaikse andmete rikkumise ilma programmi peatamata. Lahendusena vÔeti versioonis 151.0.1 uuesti kasutusele vanem zlib teek.

Probleemi esimest ilmingut mĂ€rgati varajaste versioonide testimise ajal ĂŒle aasta tagasi, kuid arendajate sĂŒsteemides seda taasesitada ei Ă”nnestunud. LĂ”puks, pĂ€rast aastast testimist beetakasutajatega, otsustati Firefox 151-s lubada zlib-rs. PĂ€rast uut probleemiaruannete seeriat ja mustri uurimist avastati, et krahhi pĂ”hjustas mikrokoodi viga Inteli protsessorites, mis pĂ”hinevad 13. ja 14. pĂ”lvkonna Raptor Lake'i mikroarhitektuuril, mis oli seotud vale registri kasutamisega.

Probleem tekkis seetÔttu, et LLVM koodigeneraator kasutas Huffmani kodeeringu tulemuste mÀllu kirjutamisel kÀsku "mov byte ptr [rsi + rdi + 1], ch". Selle kÀsu tÀitmisel Raptor Lake'i protsessoril kirjutati mÀllu RCX registrist 8-15 biti asemel, mis vastavad kÀsus mÀÀratud CH registrile, bitid 0-7, mis vastavad CL registrile. Firefox 152 ettevalmistamiseks rakendati ajutine lahendus ja parandus portiti zlib-rs peamisse vÀljalaskesse. Probleemse kÀsu genereerimist tÀheldati LLVM 22-s (seda ei genereerita LLVM 23 arendusharus).

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster