VirtualBox

Opened 4 years ago

Last modified 4 years ago

#20198 closed defect

Virtualbox Linux vboxnetflt driver cannot be built with 5.11 kernel — at Version 5

Reported by: cloudsw Owned by: paulson
Component: host support Version: VirtualBox 6.1.18
Keywords: 5.11 kernel Cc:
Guest type: other Host type: Linux

Description (last modified by paulson)

Failed to rebuild drivers after installing 5.11 kernel:

$sudo vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

There were problems setting up VirtualBox. To re-start the set-up process, run

/sbin/vboxconfig

as root. If your system is using EFI Secure Boot you may need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.

vbox-setup.log is attached

/tmp/vbox.0/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltNeedsLinkState’:
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:1761:47: error: dereferencing pointer to incomplete type ‘const struct ethtool_ops’
 1761 |     if (pDev->ethtool_ops && pDev->ethtool_ops->get_drvinfo)
      |                                               ^~
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:1763:32: error: storage size of ‘Info’ isn’t known
 1763 |         struct ethtool_drvinfo Info;
      |                                ^~~~
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:1766:20: error: ‘ETHTOOL_GDRVINFO’ undeclared (first use in this function)
 1766 |         Info.cmd = ETHTOOL_GDRVINFO;
      |                    ^~~~~~~~~~~~~~~~
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:1766:20: note: each undeclared identifier is reported only once for each function it appears in
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:1763:32: warning: unused variable ‘Info’ [-Wunused-variable]
 1763 |         struct ethtool_drvinfo Info;
      |                                ^~~~
make[2]: *** [scripts/Makefile.build:279: /tmp/vbox.0/linux/VBoxNetFlt-linux.o] Error 1
make[1]: *** [Makefile:1800: /tmp/vbox.0] Error 2
make: *** [/tmp/vbox.0/Makefile-footer.gmk:117: vboxnetflt] Error 2

Change History (7)

by cloudsw, 4 years ago

Attachment: vbox-setup.log added

comment:1 by cloudsw, 4 years ago

Adding the following line in /usr/share/virtualbox/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c fixed the problem.

#include <linux/ethtool.h>

comment:2 by paulson, 4 years ago

Owner: set to paulson
Status: newassigned
Summary: Virtualbox Linux drivers cannot be built with 5.11 kernelVirtualbox Linux vboxnetflt driver cannot be built with 5.11 kernel

This has been addressed in revision r142841 of the development branch of VirtualBox and the fix has also been backported to the 6.1 branch of VirtualBox as of revision r142842. Any Testbuilds containing these revisions will include the fix. As mentioned here, a quick workaround in the interim is to edit VBoxNetFlt-linux.c to include <linux/ethtool.h>. The fix will also be part of the next maintenance release of VirtualBox 6.1.x.

by David C Rankin, 4 years ago

Attachment: make.log added

Linux 5.11 Kernel Module Fail to Build (make.log)

comment:3 by David C Rankin, 4 years ago

I can confirm this bug on Archlinux with 6.1.18 and Linux 5.11. make.log attached.

comment:4 by paulson, 4 years ago

The VirtualBox 6.1.x Testbuilds contain the fix for this issue now so apart from editing VBoxNetFlt-linux.c as an interim fix you can download the updated VirtualBox package from here until the next maintenance release of VirtualBox is available.

comment:5 by paulson, 4 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette