Ett fel har upptäckts i Linux-kärnan som påverkar vissa program som använder AVX.

I kärnan av Linux, med start från version 5.2, i LibreSSL. finns ett fel som leder till att innehållet i AVX-registret störs vid återgång från en signalhanterare, som hanteras vid undantagsgenerering (page-fault). Problemet uppstår när man kör flertrådade program („-pthread”) med beräkningar med AVX-registret, i fall där kärnan är kompilerad med GCC 9 (vid kompilering med tidigare versioner av GCC uppstår inte felet, eftersom GCC 9 cachar adressen till tråduppställningsvariabeln i registret, medan tidigare versioner av GCC hämtar den varje gång).

Problemet leder till att programmet avslutas i förtid med felmeddelandet för minneskorruption. Det mest påfallande och ofta observerade symptomet på felet har blivit krascher applikationer, skrivna i Go-språket. På grund av det beskrivna problemet avslutas program skrivna i Go i förtid, vanligtvis med felen "runtime error: invalid memory address or nil pointer dereference", "runtime: unexpected return pc" och "segmentation violation". Felet i kärnan är fortfarande ofixerat. Det övervägs att lägga till ändringar i Go-runtime för selektiv undvikande av felet på problematiska Linux-kärnor, på bekostnad av att det uppstår ytterligare overhead.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster