Created attachment 535928 [details] tarred file contains info-output, build log,kernel configuration and output of emerge -pqv These modules compiled without problems against the previous kernel-4.16-11-gentoo and the kernel compilation for the later kernel is was not changed by me. Any changes must have been part of the updated kernel.
Use stable packages with unstable kernel isn't a good idea. Anyway, I think, you can backport this [1] patch. [1] https://www.virtualbox.org/changeset/72139/vbox
Created attachment 536762 [details, diff] kver-4.17 patch for virtualbox-modules That should be enough.
Created attachment 536764 [details, diff] corrected working directory for the patchset Ignore the first patch, as it fails to account for the naming structure of the subdirectories in virtualbox-modules.
It seems that a previous patch, virtualbox-modules-5.1.30-udp.patch, also modifies the same file. That might have to be combined into a single patch, then.
Also, if the source files already have "if" checks for specific kernel versions, is it really useful to have the same in the ebuild? src_prepare() { if kernel_is -ge 2 6 33 ; then # evil patch for new kernels - header moved grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:' fi if use pax_kernel && kernel_is -ge 3 0 0 ; then eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch fi if kernel_is -ge 4 14 0 ; then eapply "${FILESDIR}"/${PN}-5.1.30-udp.patch fi default } vs. +++ work/vboxpci/linux/VBoxPci-linux.c @@ -353,12 +353,16 @@ static void vboxPciFileClose(struct file* file) static int vboxPciFileWrite(struct file* file, unsigned long long offset, unsigned char* data, unsigned int size) { int ret; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0) + ret = kernel_write(file, data, size, &offset); +#else ...
Please reopen if this still affects 5.2.x