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,6 +327,9 @@ # if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0) /* The interface was removed, but we only need it for < 2.4.22, so who cares. */ # 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 +# define MY_SET_PAGES_EXEC(pPages, cPages) do {} while (0) +# define MY_SET_PAGES_NOEXEC(pPages, cPages) do {} while (0) # endif #else # define MY_SET_PAGES_EXEC(pPages, cPages) \ @@ -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; }