W Ubuntu zdecydowano się domyślnie na dostarczanie pakietu intel-compute-runtime, zbudowanego z flagą NEO_DISABLE_MITIGATIONS, wyłączającą ochronę przed atakami klasy Spectre. Według szacunków deweloperów Ubuntu, obecność takiej ochrony prowadzi do spadku wydajności pakietu o około 20%.
Pakiet intel-compute-runtime zawiera komponenty niezbędne do korzystania z OpenCL i OneAPI Level Zero na systemach z GPU Intel. Przy budowie dostarczanych w pakiecie bibliotek obecność flagi kompilacji NEO_DISABLE_MITIGATIONS prowadzi do wyłączenia w kompilatorze opcji «-mretpoline -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register», które zapewniają dodatkową ochronę przed Spectre. Opcje te nie wpływają na wydajność OpenCL i operacji po stronie GPU, ale zmniejszają koszty wykonania kodu odpowiedzialnego za działanie API.
Inżynierowie odpowiedzialni za bezpieczeństwo w Intel i Canonical doszli do wniosku, że ochrona przed Spectre, realizowana na poziomie Compute Runtime, nie jest już konieczna, ponieważ wymagana ochrona jest już dostępna na poziomie jądra. Ochrona przed Spectre dostępna w Compute Runtime jest interesująca głównie dla tych, którzy korzystają z rdzeni bez odpowiedniej ochrony, a korzyści z niej nie przewyższają zaobserwowanego spadku wydajności. Ponadto dostarczane przez Intel wersje Intel Graphics Compute Runtime są budowane z ustawieniem domyślnym flagi NEO_DISABLE_MITIGATIONS, która wyłącza ochronę.
Źródło: opennet.ru
