Hypervisorul Xen oferă suport pentru placa Raspberry Pi 4

Dezvoltatorii proiectului Xen au anunțat au implementat posibilitatea utilizării Xen Hypervisor pe plăcile Raspberry Pi 4. Adaptarea Xen pentru a funcționa pe versiunile anterioare ale plăcilor Raspberry Pi a fost împiedicată de utilizarea unui controller de întrerupere non-standard, care nu avea suport pentru virtualizare. Pe Raspberry Pi 4 a fost utilizat un controller de întrerupere GIC-400 obișnuit, susținut de Xen, iar dezvoltatorii se așteptau ca problemele cu lansarea Xen să nu apară. Însă, în realitate, lucrurile s-au dovedit a fi mai complicate decât se anticipa, iar pentru a asigura funcționarea Xen pe Raspberry Pi 4, a fost necesar să se aducă modificări semnificative în codul dedicat gestionării memoriei.

Primele versiuni ale plăcilor Raspberry Pi 4 limitau accesul doar la spațiul de adresare din primul gigabyte de memorie, ceea ce era insuficient pentru Dom0. Modificările necesare au fost integrate în versiunea Xen 4.14, dar a apărut o altă problemă — în subsistemul Xen pentru conversia adreselor virtuale în fizice s-a utilizat apelul virt_to_phys, care nu funcționa pentru toate adresele virtuale, iar încercările de a transforma anumite adrese virtuale se soldau cu erori. Pentru a rezolva această problemă, a fost necesar să se adauge o altă funcție de conversie a adreselor.

Aceste probleme nu s-au oprit aici, iar o particularitate a funcționării DMA a fost descoperită — pe toate platformele anterior suportate în Xen (x86, ARM și ARM64), adresele DMA și adresele fizice erau întotdeauna identice, dar pe Raspberry Pi 4 acestea diferă. Găsirea unei soluții pentru această problemă s-a dovedit a fi cea mai dificilă și a necesitat dezvoltarea unor patch-uri pentru nucleul Linux, care execută conversia între adresele fizice și cele DMA.

Corecțiile pregătite au fost incluse în nucleul Linux 5.9 și acum Xen este considerat pregătit pentru organizarea virtualizării pe plăcile Raspberry Pi 4. De asemenea, pe Raspberry Pi 4 poate fi folosit EVE (Edge Virtualization Engine), un motor pentru crearea și rularea aplicațiilor cloud-native, care utilizează Xen, Linuxkit și Alpine Linux pentru construirea infrastructurii de virtualizare pe dispozitive portabile.

De asemenea, se poate menționa eliminarea 10 vulnerabilități în Xen. Vulnerabilitățile CVE-2020-25599,
CVE-2020-25603 și
CVE-2020-25595
permit potențial obținerea privilegiilor de mediu gazdă din sistemul găzduit. Problemele
CVE-2020-25601, CVE-2020-25600,
CVE-2020-25596,
CVE-2020-25597,
CVE-2020-25604,
CVE-2020-25598 și
CVE-2020-25602
se limitează la provocarea unui refuz de serviciu.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster