В хипервизора Xen е реализирана поддръжка за платката Raspberry Pi 4

Разработчиците на проекта Xen обявиха за реализиране на възможността за използване на Xen Hypervisor на платки Raspberry Pi 4. Адаптацията на Xen за работа с предишни версии на платките Raspberry Pi затруднило използването на нестандартен контролер за прекъсвания, който не поддържал виртуализация. На Raspberry Pi 4 бил използван стандартният контролер за прекъсвания GIC-400, поддържан в Xen, и разработчиците смятали, че няма да имат проблеми с пускането на Xen. Но в действителност всичко се оказало по-различно от очакваното, и за да се осигури работоспособността на Xen на Raspberry Pi 4, се наложило да бъдат направени значителни промени в кода за работа с паметта.

Първоначалните варианти на платките Raspberry Pi 4 ограничавали достъпа само до адресното пространство на първия гигабайт памет, което било недостатъчно за Dom0. Необходимите промени били внедрени в версия 4.14 на Xen, но веднага се появил друг проблем — в подсистемата на Xen за преобразуване на виртуални адреси в физически бил използван извикването virt_to_phys, което не сработвало за всички виртуални адреси и опитите за преобразуване на някои виртуални адреси завършвали с грешка. За решаване на този проблем се наложило да добавят друга функция за преобразуване на адресите.

На това проблемите не свършили, а се появила особеност в работата на DMA — на всички преди поддържани платформи в Xen (x86, ARM и ARM64) адресите на DMA и физическите адреси винаги съвпадали, но на Raspberry Pi 4 те се различавали. Намерението за решаване на този проблем се оказало най-трудно и изисквало разработка на пачове за ядрото на Linux, които извършвали преобразуване между физическите адреси и адресите на DMA.

Подготовените корекции били включени в ядрото на Linux 5.9 и сега Xen е признат за готов за организиране на виртуализация на платките Raspberry Pi 4. Включително на Raspberry Pi 4 сега може да се използва EVE (Edge Virtualization Engine), двигател за създаване и стартиране на cloud-native приложения, използващи Xen, Linuxkit и Alpine Linux за изграждане на инфраструктура за виртуализация на преносими устройства.

Допълнително може да се отбележи отстраняването на 10 уязвимости в Xen. Уязвимостите CVE-2020-25599,
CVE-2020-25603 и
CVE-2020-25595
потенциално позволяват на гостуващата система да получи привилегии на хост средата. Проблемите
CVE-2020-25601, CVE-2020-25600,
CVE-2020-25596,
CVE-2020-25597,
CVE-2020-25604,
CVE-2020-25598 и
CVE-2020-25602
са ограничени до извършване на отказ в обслужването.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster