dkms モジュール vboxhost-6.0.12_OSE はカーネル 5.3 でコンパイルされません。

dkms モジュール vboxhost-6.0.12_OSE はカーネル 5.3 でコンパイルされません。

今日は新しいカーネルをコンパイルしましたが、DKMSモジュールvboxhost-6.0.12_OSEを再インストールしたときにこのエラーが発生し、失敗しました。

DKMS make.log for vboxhost-6.0.12_OSE for kernel 5.3.0gee (x86_64)
Mon 16 Sep 2019 01:17:15 PM CDT
make: Entering directory '/home/henry/kernelbuild/linux-5.3'
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/linux/VBoxPci-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/VBoxNetFlt.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/VBoxPci.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/linux/VBoxNetAdp-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/SUPR0IdcClient.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/SUPR0IdcClient.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/linux/SUPDrv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/SUPR0IdcClientComponent.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/SUPR0IdcClientComponent.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/linux/SUPR0IdcClient-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrv.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvGip.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/linux/SUPDrv-linux.o: warning: objtool: VBoxDrvLinuxIOCtl_6_0_12()+0x94: call to VBoxHost_RTR0MemUserCopyFrom() with UACCESS enabled
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvSem.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/SUPR0IdcClient-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/VBoxNetAdp.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPLibAll.o
  LD [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/vboxnetadp.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/alloc-r0drv.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/initterm-r0drv.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltLinuxEnumeratorCallback’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:2126:9: error: implicit declaration of function ‘for_ifa’ [-Werror=implicit-function-declaration]
 2126 |         for_ifa(in_dev) {
      |         ^~~~~~~
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:2126:24: error: expected ‘;’ before ‘{’ token
 2126 |         for_ifa(in_dev) {
      |                        ^~
      |                        ;
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.o] Error 1
make[1]: *** [scripts/Makefile.build:497: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt] Error 2
make[1]: *** Waiting for unfinished jobs....
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/memobj-r0drv.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/mpnotification-r0drv.o
  LD [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/vboxpci.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/powernotification-r0drv.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/process-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/semevent-r0drv-linux.o
  CC [M]  /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/semeventmulti-r0drv-linux.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnAll’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:287:18: error: void value not ignored as it ought to be
  287 |         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
      |                  ^~~~~~~~~~~~~~~~~
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnOthers’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:341:8: error: void value not ignored as it ought to be
  341 |     rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
      |        ^
make[2]: *** [scripts/Makefile.build:281: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: rtR0MemKernelCopyLnxWorker()+0x15: redundant CLD

これが出力です

lsmod | grep vbox
vboxvideo              40960  0
drm_vram_helper        20480  1 vboxvideo
drm_kms_helper        212992  2 vboxvideo,i915
drm                   503808  7 drm_kms_helper,drm_vram_helper,vboxvideo,i915,ttm
vboxsf                 40960  0
vboxguest              45056  1 vboxsf

これがバッグの由来です。

私はカーネル5.1.9からこのモジュールを使用してきましたが、これまで問題はありませんでした。

出力

# dkms install vboxhost/6.0.12_OSE 
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.3.0gee -C /usr/lib/modules/5.3.0gee/build M=/var/lib/dkms/vboxhost/6.0.12_OSE/build.....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.3.0gee (x86_64)
Consult /var/lib/dkms/vboxhost/6.0.12_OSE/build/make.log for more information.

この問題を解決する方法についてご協力いただきありがとうございます。必要に応じて、提供する予定がなかったログをより多く提供できます。

関連情報