Репозиторий Sisyphus
Последнее обновление: 24 мая 2020 | Пакетов: 17557 | Посещений: 18604897
en ru br
Репозитории ALT
S:6.1.8-alt1.329229.1
5.1: 4.0.12-alt0.M51.132640.5
www.altlinux.org/Changes

Группа :: Система/Ядро и оборудование
Пакет: kernel-modules-virtualbox-un-def

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: vboxcommon-5.4.patch
Скачать


diff -ur kernel-source-virtualbox-5.2.34/kernel-source-vboxdrv-5.2.34/r0drv/linux/the-linux-kernel.h kernel-source-virtualbox-5.2.34.fixed/kernel-source-vboxdrv-5.2.34/r0drv/linux/the-linux-kernel.h
--- kernel-source-vboxdrv-5.2.34/r0drv/linux/the-linux-kernel.h	2019-10-21 19:05:14.000000000 +0000
+++ kernel-source-vboxdrv-5.2.34.new/r0drv/linux/the-linux-kernel.h	2019-12-12 01:08:42.695569567 +0000
@@ -327,7 +327,11 @@
 # endif
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+/* XXX The 5.4 kernel has no interface anymore to make kernel pages execcutable */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+# define MY_SET_PAGES_EXEC(pPages, cPages)   do {} while (0)
+# define MY_SET_PAGES_NOEXEC(pPages, cPages) do {} while (0)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
 # define MY_SET_PAGES_EXEC(pPages, cPages)    set_pages_x(pPages, cPages)
 # define MY_SET_PAGES_NOEXEC(pPages, cPages)  set_pages_nx(pPages, cPages)
 #else
@@ -374,7 +378,7 @@
 {
 	/* use the set_pages_* API */
 	if (pgprot_val(prot) & _PAGE_NX)
-		set_pages_nx(page, numpages);
+		MY_SET_PAGES_NOEXEC(page, numpages);
 	set_pages_uc(page, numpages);
 	return 0;
 }
diff -ur kernel-source-virtualbox-5.2.34/kernel-source-vboxdrv-5.2.34/include/iprt/cdefs.h kernel-source-virtualbox-5.2.34.fixed/kernel-source-vboxdrv-5.2.34/include/iprt/cdefs.h
--- kernel-source-vboxdrv-5.2.34/include/iprt/cdefs.h	2019-10-21 11:53:32.000000000 +0000
+++ kernel-source-vboxdrv-5.2.34.new/include/iprt/cdefs.h	2019-12-12 00:55:38.819038629 +0000
@@ -1113,7 +1113,7 @@
  * Tell the compiler that we're falling through to the next case in a switch.
  * @sa RT_FALL_THRU  */
 #if RT_GNUC_PREREQ(7, 0)
-# define RT_FALL_THROUGH()      __attribute__((fallthrough))
+# define RT_FALL_THROUGH()      __attribute__((__fallthrough__))
 #else
 # define RT_FALL_THROUGH()      (void)0
 #endif
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin