Discussion:
Kernel 4.14.3-1-ARCH breaks dkms rebuild of Virtualbox drivers - ‘SKB_GSO_UDP’ undeclared
Add Reply
David C. Rankin
2017-12-04 23:16:53 UTC
Reply
Permalink
Raw Message
All,

Updated to 4.14.3 breaks virtualbox 5.1.30 OSE (released 11/17) modules
rebuild. The pacman error is:

==> dkms install vboxhost/5.1.30 -k 4.14.3-1-ARCH
Error! Bad return status for module build on kernel: 4.14.3-1-ARCH (x86_64)
Consult /var/lib/dkms/vboxhost/5.1.30/build/make.log for more information.

The make.log error is:

/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In
function ‘vboxNetFltLinuxSkBufFromSG’:
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c:726:24:
error: ‘SKB_GSO_UDP’ undeclared (first use in this function); did you mean
‘SKB_GSO_ESP’?
fGsoType = SKB_GSO_UDP;
^~~~~~~~~~~
SKB_GSO_ESP
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c:726:24:
note: each undeclared identifier is reported only once for each function it
appears in
In file included from
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/include/iprt/types.h:29:0,
from
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/r0drv/linux/the-linux-kernel.h:34,
from
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c:24:
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In
function ‘vboxNetFltLinuxCanForwardAsGso’:
LD [M] /var/lib/dkms/vboxhost/5.1.30/build/vboxnetadp/vboxnetadp.o
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c:1112:53:
error: ‘SKB_GSO_UDP’ undeclared (first use in this function); did you mean
‘SKB_GSO_ESP’?
if (RT_UNLIKELY( skb_shinfo(pSkb)->gso_type & ~(SKB_GSO_UDP |
SKB_GSO_DODGY | SKB_GSO_TCPV6 | SKB_GSO_TCPV4) ))
^
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/include/iprt/cdefs.h:1612:53:
note: in definition of macro ‘RT_UNLIKELY’
# define RT_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
^~~~
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In
function ‘vboxNetFltLinuxForwardToIntNet’:
/var/lib/dkms/vboxhost/5.1.30/build/vboxnetflt/linux/VBoxNetFlt-linux.c:1405:47:
error: ‘SKB_GSO_UDP’ undeclared (first use in this function); did you mean
‘SKB_GSO_ESP’?
if ( (skb_shinfo(pBuf)->gso_type & (SKB_GSO_UDP | SKB_GSO_TCPV6 |
SKB_GSO_TCPV4))
^~~~~~~~~~~
SKB_GSO_ESP

This worked fine in the last kernel. Is there a reason this should break
now? Virtualbox 5.2 is currently not an option until a few bugs are fixed
affecting the headless clients I run (e.g.
https://www.virtualbox.org/ticket/17259)

Is there a workaround that could define this constant, or was this
inadvertently left out of the latest kernel? Let me know if a bug is needed,
I'm happy to file it.
--
David C. Rankin, J.D.,P.E.
David C. Rankin
2017-12-04 23:43:07 UTC
Reply
Permalink
Raw Message
Post by David C. Rankin
error: ‘SKB_GSO_UDP’ undeclared (first use in this function); did you mean
‘SKB_GSO_ESP’?
if ( (skb_shinfo(pBuf)->gso_type & (SKB_GSO_UDP | SKB_GSO_TCPV6 |
SKB_GSO_TCPV4))
^~~~~~~~~~~
SKB_GSO_ESP
This worked fine in the last kernel.
A downgrade to linux-4.13.12-1 works fine. Looks like a known problem:

https://bugs.debian.org/881744

https://www.virtualbox.org/ticket/17267

So this looks like a situation where the 4.14 kernel will effectively
eliminate the ability to use 5.1.30. It doesn't look like there will be a
further maintenance release of 5.1.X while all initial problems with 5.2 are
resolved.

So this is an Oracle/4.14 issue.
--
David C. Rankin, J.D.,P.E.
Loading...