El hipervisor Xen admite soporte para la placa Raspberry Pi 4

Los desarrolladores del proyecto Xen anunciaron han implementado la posibilidad de utilizar Xen Hypervisor en placas Raspberry Pi 4. La adaptación de Xen para funcionar en versiones anteriores de las placas Raspberry Pi se vio obstaculizada por el uso de un controlador de interrupciones no estándar, que no contaba con soporte para virtualización. En Raspberry Pi 4 se utilizó un controlador de interrupciones GIC-400, que es compatible con Xen, y los desarrolladores esperaban que no hubiera problemas para ejecutar Xen. Pero en realidad, todo resultó no ser como se esperaba, y para asegurar el funcionamiento de Xen en Raspberry Pi 4 fue necesario realizar cambios significativos en el código para el manejo de la memoria.

Las primeras versiones de las placas Raspberry Pi 4 limitaban el acceso solo al espacio de direcciones del primer gigabyte de memoria, lo cual era insuficiente para Dom0. Se realizaron los cambios necesarios en la versión 4.14 de Xen, pero surgió otro problema de inmediato: en el subsistema de Xen, para convertir direcciones virtuales a físicas se utilizaba la llamada virt_to_phys, que no funcionaba para todas las direcciones virtuales, y los intentos de convertir algunas direcciones virtuales resultaban en un error. Para solucionar este problema, fue necesario agregar otra función de conversión de direcciones.

Los problemas no terminaron ahí, y surgió una particularidad en el funcionamiento de DMA: en todas las plataformas previamente soportadas por Xen (x86, ARM y ARM64), las direcciones de DMA y las direcciones físicas siempre coincidían, pero en Raspberry Pi 4 son diferentes. Encontrar una solución para este problema resultó ser lo más complicado y requirió el desarrollo de parches para el núcleo de Linux que realizan la conversión entre direcciones físicas y direcciones DMA.

Las correcciones preparadas se incluyeron en el núcleo de Linux 5.9 y ahora Xen se considera listo para la virtualización en placas Raspberry Pi 4. En particular, ahora se puede utilizar en Raspberry Pi 4 EVE (Edge Virtualization Engine), un motor para crear y ejecutar aplicaciones nativas de la nube que utilizan Xen, Linuxkit y Alpine Linux para construir infraestructuras de virtualización en dispositivos portátiles.

Adicionalmente, se puede señalar la eliminación de 10 vulnerabilidades en Xen. Las vulnerabilidades CVE-2020-25599,
CVE-2020-25603 y
CVE-2020-25595
potencialmente permiten que un sistema huésped obtenga privilegios en el entorno del anfitrión. Los problemas
CVE-2020-25601, CVE-2020-25600,
CVE-2020-25596,
CVE-2020-25597,
CVE-2020-25604,
CVE-2020-25598 y
CVE-2020-25602
se limitan a causar denegación de servicio.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster