O hipervisor Xen implementou suporte para a placa Raspberry Pi 4

Desenvolvedores do projeto Xen foi anunciado sobre a implementação da possibilidade de usar o Xen Hypervisor em placas Raspberry Pi 4. A adaptação do Xen para funcionar em versões anteriores das placas Raspberry Pi foi prejudicada pela utilização de um controlador de interrupções não padrão, que não possuía suporte para virtualização. Na Raspberry Pi 4, foi utilizado um controlador de interrupções comum GIC-400, suportado no Xen, e os desenvolvedores esperavam que não haveria problemas para iniciar o Xen. Mas, na realidade, tudo foi mais complicado do que o esperado, e para garantir o funcionamento do Xen na Raspberry Pi 4, foi necessário fazer alterações significativas no código para trabalhar com a memória.

As primeiras versões das placas Raspberry Pi 4 restringiam o acesso apenas ao espaço de endereço do primeiro gigabyte de memória, o que era insuficiente para o Dom0. As alterações necessárias foram incluídas na versão 4.14 do Xen, mas logo surgiu outro problema — na subsistema do Xen, a chamada virt_to_phys foi utilizada para converter endereços virtuais em físicos, o que não funcionava para todos os endereços virtuais e tentativas de conversão de alguns endereços virtuais resultavam em erro. Para resolver esse problema, foi necessário adicionar outra função de conversão de endereços.

E essas não foram as únicas dificuldades; surgiu uma particularidade no funcionamento do DMA — em todas as plataformas anteriormente suportadas pelo Xen (x86, ARM e ARM64), os endereços de DMA e os endereços físicos sempre coincidiram, mas na Raspberry Pi 4 eles eram diferentes. Encontrar uma solução para esse problema foi a tarefa mais desafiadora e exigiu o desenvolvimento de patches para o kernel do Linux que realizassem a conversão entre endereços físicos e endereços de DMA.

As correções preparadas foram inclusas no kernel do Linux 5.9 e agora o Xen é considerado pronto para organização de virtualização em placas Raspberry Pi 4. Inclusive, na Raspberry Pi 4 já é possível usar EVE (Edge Virtualization Engine), um motor para criação e execução de aplicações cloud-native, utilizando o Xen, Linuxkit e Alpine Linux para construir a infraestrutura de virtualização em dispositivos portáteis.

Além disso, vale destacar a correção de 10 vulnerabilidades no Xen. As vulnerabilidades CVE-2020-25599,
CVE-2020-25603 e
CVE-2020-25595
potencialmente permitem que uma máquina virtual obtenha privilégios no ambiente host. Os problemas
CVE-2020-25601, CVE-2020-25600,
CVE-2020-25596,
CVE-2020-25597,
CVE-2020-25604,
CVE-2020-25598 e
CVE-2020-25602
são limitados a causar negação de serviço.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster