FERRAMENTAS LINUX: A Intel publica os patches para o Linux para a separação de espaço de endereço linear (LASS)

domingo, 15 de janeiro de 2023

A Intel publica os patches para o Linux para a separação de espaço de endereço linear (LASS)

 

Uma interessante série de patches postada pela Intel esta semana para o kernel do Linux está trabalhando na implementação do Linear Address Space Separation (LASS) como um recurso que vem com futuros processadores para ajudar a evitar acessos especulativos de endereço no modo de usuário e kernel.


A série de patches LASS resume o novo recurso como:

O LASS funciona apenas no modo de 64 bits e particiona o espaço de endereço virtual de 64 bits em duas metades:

1. Metade inferior (LA[63]=0) --> espaço do usuário

2. Metade superior (LA[63]=1) --> espaço do kernel

Quando o LASS está ativado, uma falha de proteção geral #GP(0) será gerada se o software acessar o endereço da metade em que reside para outra metade, por exemplo, do espaço do usuário para a metade superior ou da espaço do kernel para a metade inferior. Essa proteção se aplica a acesso a dados, execução de código, instruções de liberação de linha de cache.

Quase todos os acessos ao kernel são para a metade superior do espaço de endereço virtual. No entanto, existem razões válidas para o kernel acessar a metade inferior. Para esses casos, o kernel pode suspender temporariamente a aplicação do LASS desabilitando o SMAP (Supervisor Mode Access Prevention).

O acesso ao kernel para copiar dados de/para endereços de usuários já desativa o SMAP usando as funções stac()/clac(). Novas funções low_addr_access_begin()/low_addr_access_end() são adicionadas para também desabilitar/habilitar o SMAP em torno de outro código que legitimamente precisa acessar a metade inferior do espaço de endereço virtual.

O espaço do usuário não pode usar nenhum endereço de kernel enquanto o LASS estiver ativado. Menos felizmente, as funções vsyscall herdadas usadas pela versão antiga do glibc estão localizadas no intervalo de endereços 0xffffffffff600000-0xffffffffff601000 e emuladas no kernel. Portanto, para cumprir a política LASS, o legado vsyscall é desabilitado por padrão.

A Intel também documentou ainda mais o LASS em seu último manual de referência do programador ISA .


Os patches da Intel confirmam que os primeiros processadores a apresentar separação de espaço de endereço linear serão sua linha Sierra Forest. Sierra Forst é para os processadores de servidor Xeon baseados em E-core esperados em 2024 e para competir com processadores AMD EPYC "Bergamo".

A habilitação inicial do kernel Linux para Intel LASS tem pouco mais de 100 linhas de novo código e está atualmente em revisão.







Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário