W ostatnich miesiącach było wiele prostych spekulacji na temat x86, gdy łagodzenie oparte na kompilatorach zostało połączone dla GCC 12, a następnie, począwszy od Linuksa 5.17, jądro może wykorzystać to nowe pokrętło do odparcia tej potencjalnej luki. Teraz obsługa kompilatora jest nawet wstecznie przenoszona do GCC 11.

Zamiast łagodzenia prostych spekulacji x86 tylko w nadchodzącym wydaniu GCC 12, zostanie również przeniesiona do stabilnej serii GCC 11. HJ Lu firmy Intel rozesłał łatki z dodaniem-mharden-sls=i-Kompilator mindirect-branch-cs-prefix przełącza na kod bazowy GCC 11. Łagodzenie SLS x86 dodaje instrukcje INT3 po powrocie funkcji i pośrednich rozgałęzieniach, aby odeprzeć procesor potencjalnie spekulacyjnie wykonujący się liniowo w pamięci po bezwarunkowej zmianie w przepływie sterowania. Opcja-mindirect-branch-cs-prefix ma być automatycznie używana do kompilacji RETPOLINE.

Do tej pory nie widziałem żadnych publicznych, oficjalnych wskazówek firmy Intel dotyczących ich rekomendacji x86 SLS i procesorów, których dotyczy problem. Ale biorąc pod uwagę, że cała ta aktywność łatek x86 nie miała miejsca przez rok po ujawnieniu luki w Arm SLS, może pojawić się coś nowego, powodującego całą tę aktywność x86 w ostatnich miesiącach.

Poprawki GCC 11 są obecnie w łatkach gcc i z kolei powinno pojawić się w wersji punktowej GCC 11.3 (jak również w wydaniu funkcji GCC 12.1 w kwietniu).

Categories: IT Info