x86/podstawowe zmiany dla Linuksa 6.1 zostały połączone i są opatrzone tytułem poprzez upewnienie się, że instrukcja INT3 jest wstawiana po każdym bezwarunkowym skoku Retpoline (JMP) dla obsługi Retpoline zarówno na procesorach Intel, jak i AMD.

Inżynier firmy Intel, Peter Zijlstra, był autorem zmiany, aby zapewnić INT3 po wystąpieniu pośredniego JMP. Takie zachowanie jest zalecane zarówno przez firmę Intel, jak i AMD. Ta zmiana Retpoline następuje po złagodzeniu łagodzenia x86 Straight Line Speculation, polegającym na dodaniu INT3 po powrocie funkcji i rozgałęzieniach pośrednich.

Instrukcja INT3 x86 została pierwotnie zaprojektowana do użytku przez debugery do ustawiania programowego punktu przerwania/wywoływania obsługi wyjątków debugowania. Jednak użycie INT3 w świecie luk w zabezpieczeniach spekulatywnych wykonań okazało się również przydatne jako część łagodzenia jako pułapka spekulacyjna w celu uniknięcia spekulatywnego wykonania po tym punkcie.

Ta zmiana w Linuksie 6.1 jest w zasadzie zabezpieczeniem przed kompilacją przed starszymi kompilatorami, którym brakuje obsługi łagodzącej spekulację liniową x86 lub w których SLS nie jest włączony. Więc dla większości użytkowników korzystających z rozsądnego jądra dystrybucji/dostawcy zbudowanego z nowoczesnym kompilatorem i włączonym SLS, nie zobaczysz żadnej różnicy w Linuksie 6.1.

Więcej szczegółów za pośrednictwem żądania ściągnięcia x86/core, które zostało już połączone dla głównego systemu Linux 6.1.

Categories: IT Info