#17299 closed defect (fixed)
Guest Additions fail to start in openSUSE Leap 42.1 guest
Reported by: | Reiner Brodbeck | Owned by: | Frank Batschulat (Oracle) |
---|---|---|---|
Component: | guest additions | Version: | VirtualBox 5.2.0 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description
GuestAdditions fail to start during boot of openSUSE Leap 42.1 guest.
After login into guest system an X message pops up:
VBoxClient: VBoxClient (seamless): failed to start. Stage: Setting guest IRQ filter mask Error: VERR_INTERNAL_ERROR
Output of systemctl status vboxadd-service.service is:
vboxadd-service.service
Loaded: loaded (/opt/VBoxGuestAdditions-5.2.1/init/vboxadd-service; enabled)
Active: failed (Result: exit-code) since Tue 2017-11-21 09:41:36 UTC; 3min 17s ago
Process: 806 ExecStart=/opt/VBoxGuestAdditions-5.2.1/init/vboxadd-service start (code=exited, status=1/FAILURE)
Nov 21 09:41:35 atsmtester systemd[1]: Starting vboxadd-service.service...
Nov 21 09:41:35 atsmtester vboxadd-service[806]: vboxadd-service.sh: Starting VirtualBox Guest Addition service.
Nov 21 09:41:35 atsmtester vboxadd-service.sh[824]: Starting VirtualBox Guest Addition service.
Nov 21 09:41:36 atsmtester systemd[1]: vboxadd-service.service: control process exited, code=exited status=1
Nov 21 09:41:36 atsmtester systemd[1]: Failed to start vboxadd-service.service.
Nov 21 09:41:36 atsmtester systemd[1]: Unit vboxadd-service.service entered failed state.
Attachments (4)
Change History (19)
comment:1 by , 7 years ago
comment:2 by , 6 years ago
This sounds to me like a missmatch between the guest kernel and the Vbox guest additions. Apparently we receive garbage commands as ioctls in the guest and refuse what we dont know.
openSUSE Leap 42.1 was a Linux 4.1 kernel based distro. Maybe someting got backported into that kernel.
Currently we are at revision 5.2.32 of the 5.2.X guest additions, dont know if that'd change anything. I wonder if we failt o compile the newer gesut additions during installation somehow or the recompile fails.
Is this still an issue?
comment:3 by , 6 years ago
I meanwhile use revision 6.0.12. The issue changed in revision 6.x, but guest additions still only compile partially. May I add the actual log to this ticket, or should I create a new one for revision 6.x?
comment:4 by , 6 years ago
Thanks please add the failing compile log here to this bug, plus host and guest details so we can have a look. The failure to compile the guest additions is very likely the red hering here. Lets use this bug for now.
comment:5 by , 6 years ago
Actual host: Windows 10 Pro 1903 build 18362.365, AMD FX-8350 Eight-Core Processor
Actual guest: openSUSE Leap 42.1 (x86_64), kernel 4.1.39-56-default
Virtual Box revision is 6.0.12 r133076.
I will attach the files vboxadd-setup.log and vboxadd-install.log
by , 6 years ago
Attachment: | vboxadd-setup.log added |
---|
by , 6 years ago
Attachment: | vboxadd-install.log added |
---|
comment:6 by , 6 years ago
This same error:
/tmp/vbox.0/utils.c: In function ‘vbsf_inode_setattr’: /tmp/vbox.0/utils.c:812:5: error: implicit declaration of function ‘inode_change_ok’ [-Werror=implicit-function-declaration] rc = inode_change_ok(pInode, iattr); ^
was seen on Debian Jessie (kernel 3.16) when some upstream kernel changes were backported which required VirtualBox changes to allow the Guest Additions to compile again as documented in ticket #18697.
comment:7 by , 6 years ago
nevermind my previous comment, as the fix of #18697 currently does not apply here because we compile against a lower kernel version:
Building the main Guest Additions 6.0.12 module for kernel 4.1.39-56-default.
whereas the fix for #18697 changed:
LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) |
comment:8 by , 6 years ago
Owner: | set to |
---|---|
Status: | new → accepted |
comment:9 by , 5 years ago
Yes, this bug really reproduces even with 6.0.14 on sch an old kernel like running with openSUSE Leap 42.1
Linux linux-9798 4.1.39-56-default #1 SMP PREEMPT Mon May 1 04:41:25 UTC 2017 (5f49ec2) x86_64 x86_64 x86_64 GNU/Linux NAME="openSUSE Leap" VERSION="42.1" VERSION_ID="42.1" PRETTY_NAME="openSUSE Leap 42.1 (x86_64)"
By default this comes with:
[ 387.372057] vboxguest: misc device minor 58, IRQ 20, I/O port d040, MMIO at 00000000f2400000 (size 0x400000) [ 387.372058] vboxguest: Successfully loaded version 5.0.40_SUSE (interface 0x00010004) [ 0.000000] DMI: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 387.115255] systemd[1]: Starting Setup Virtual Console... [ 388.130465] usb 2-1: Manufacturer: VirtualBox [ 388.151838] input: VirtualBox USB Tablet as /devices/pci0000:00/0000:00:06.0/usb2/2-1/2-1:1.0/0003:80EE:0021.0001/input/input4 [ 388.152295] hid-generic 0003:80EE:0021.0001: input,hidraw0: USB HID v1.10 Mouse [VirtualBox USB Tablet] on usb-0000:00:06.0-1/input0
GA installation fails, vboxadd-install.log shows (full log attached:
depmod: ERROR: fstatat(5, vboxguest.ko): No such file or directory depmod: ERROR: fstatat(5, vboxsf.ko): No such file or directory depmod: ERROR: fstatat(5, vboxvideo.ko): No such file or directory VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version> VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 4.1.39-56-default. VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong depmod: ERROR: fstatat(5, vboxguest.ko): No such file or directory depmod: ERROR: fstatat(5, vboxsf.ko): No such file or directory depmod: ERROR: fstatat(5, vboxvideo.ko): No such file or directory VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted
trying to compile the new 8.0.14 shared folder code from the GA fails:
/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14 make: linux-9798:/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14 # make === Building 'vboxguest' module === make[1]: Entering directory '/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest' make V= CONFIG_MODULE_SIG= -C /lib/modules/4.1.39-56-default/build M=/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest SRCROOT=/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest -j2 modules make[2]: Entering directory '/usr/src/linux-4.1.39-56-obj/x86_64/default' CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuest-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuest.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuestR0LibGenericRequest.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuestR0LibHGCMInternal.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuestR0LibInit.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuestR0LibPhysHeap.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBoxGuestR0LibVMMDev.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/alloc-r0drv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/initterm-r0drv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/memobj-r0drv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/mpnotification-r0drv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/powernotification-r0drv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/alloc-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/assert-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/initterm-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/memobj-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/memuserkernel-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/mp-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/mpnotification-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/process-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/semevent-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/semeventmulti-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/semfastmutex-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/semmutex-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/spinlock-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/thread-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/thread2-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/time-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/timer-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/linux/RTLogWriteDebugger-r0drv-linux.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/r0drv/generic/semspinmutex-r0drv-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/alloc/alloc.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/err/RTErrConvertFromErrno.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/err/RTErrConvertToErrno.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/err/errinfo.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/log.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/logellipsis.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/logrel.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/logrelellipsis.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/logcom.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/log/logformat.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg1Weak.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2Add.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2AddWeak.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2AddWeakV.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2Weak.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/RTAssertMsg2WeakV.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/assert.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/misc/thread.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrCat.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrCmp.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrCopy.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrCopyEx.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrCopyP.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrICmpAscii.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrNICmpAscii.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrNCmp.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/RTStrNLen.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/stringalloc.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strformat.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strformatnum.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strformatrt.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strformattype.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strprintf.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/strtonum.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/string/utf-8.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/table/avlpv.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/time/time.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTAssertShouldPanic-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTLogWriteStdErr-stub-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTLogWriteStdOut-stub-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTMpGetCoreCount-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTSemEventWait-2-ex-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTSemEventWaitNoResume-2-ex-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTSemEventMultiWait-2-ex-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/RTSemEventMultiWaitNoResume-2-ex-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/rtStrFormatKernelAddress-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/errvars-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/generic/mppresent-generic.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBox/log-vbox.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/VBox/logbackdoor.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/common/alloc/heapsimple.o LD [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/vboxguest.o Building modules, stage 2. MODPOST 1 modules CC /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/vboxguest.mod.o LD [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest/vboxguest.ko make[2]: Leaving directory '/usr/src/linux-4.1.39-56-obj/x86_64/default' make[1]: Leaving directory '/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxguest' === Building 'vboxsf' module === make[1]: Entering directory '/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf' make V= CONFIG_MODULE_SIG= -C /lib/modules/4.1.39-56-default/build M=/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf SRCROOT=/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf -j2 modules make[2]: Entering directory '/usr/src/linux-4.1.39-56-obj/x86_64/default' CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/vfsmod.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/dirops.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/lnkops.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/regops.o CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.o /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.c: In function ‘vbsf_inode_setattr’: /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.c:812:5: error: implicit declaration of function ‘inode_change_ok’ [-Werror=implicit-function-declaration] rc = inode_change_ok(pInode, iattr); ^ cc1: some warnings being treated as errors /usr/src/linux-4.1.39-56/scripts/Makefile.build:274: recipe for target '/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.o' failed make[5]: *** [/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.o] Error 1 make[5]: *** Waiting for unfinished jobs.... /usr/src/linux-4.1.39-56/Makefile:1411: recipe for target '_module_/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf' failed make[4]: *** [_module_/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf] Error 2 Makefile:146: recipe for target 'sub-make' failed make[3]: *** [sub-make] Error 2 Makefile:24: recipe for target '__sub-make' failed make[2]: *** [__sub-make] Error 2 make[2]: Leaving directory '/usr/src/linux-4.1.39-56-obj/x86_64/default' /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/Makefile-footer.gmk:111: recipe for target 'vboxsf' failed make[1]: *** [vboxsf] Error 2 make[1]: Leaving directory '/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf' Makefile:48: recipe for target 'vboxsf' failed make: *** [vboxsf] Error 1
So the error in detail for the shared folder code is:
CC [M] /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.o /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.c: In function ‘vbsf_inode_setattr’: /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/vboxsf/utils.c:812:5: error: implicit declaration of function ‘inode_change_ok’ [-Werror=implicit-function-declaration] rc = inode_change_ok(pInode, iattr); ^
The fix for #18697 changed:
-- 809 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) +++ 809 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) +++ || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) 810 810 rc = setattr_prepare(dentry, iattr);
So we use setattr_prepare() instead of inode_change_ok() for:
>= KERNEL_VERSION(3, 16, 39) && < KERNEL_VERSION(3, 17, 0) || >= KERNEL_VERSION(4, 9, 0)
Our kernel is: 4.1.39 which is not in the 3.X range and lower then 4.9
The change originally happened in Linux:
and 4.1.39 indeed has setattr_prepare() as well:
https://elixir.bootlin.com/linux/v4.1.39/source/fs/attr.c#L33
while 4.1 does not have it. It first appears in 4.1.37:
https://elixir.bootlin.com/linux/v4.1.37/source/fs/attr.c#L33
The 4.2 branch does not have it at all. The 4.3 branch does not have it at all. The 4.4 branch does not have it at all. The 4.5 branch does not have it at all. The 4.6 branch does not have it at all. The 4.7 branch does not have it at all. The 4.8 branch does not have it at all.
And it first appears again in the 4.9 branch:
https://elixir.bootlin.com/linux/v4.9/source/fs/attr.c#L33
So we need to include 4.1.37 up to < 4.2 as well.
by , 5 years ago
by , 5 years ago
Attachment: | vboxadd-install.2.log added |
---|
comment:10 by , 5 years ago
the problematic code is in:
VBox-6.0/src/VBox/Additions/linux/sharedfolders/utils.c:vbsf_inode_setattr()
809 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) || LINUX_VERSION_COD E >= KERNEL_VERSION(4, 9, 0) 810 rc = setattr_prepare(dentry, iattr); 811 #else 812 rc = inode_change_ok(pInode, iattr); 813 #endif
comment:11 by , 5 years ago
trunk$ svn diff Index: src/VBox/Additions/linux/sharedfolders/utils.c =================================================================== --- src/VBox/Additions/linux/sharedfolders/utils.c (revision 135151) +++ src/VBox/Additions/linux/sharedfolders/utils.c (working copy) @@ -806,7 +806,7 @@ * from futimes() when asked to preserve times, see ticketref:18569. */ iattr->ia_valid |= ATTR_FORCE; -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) || (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 37) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)) rc = setattr_prepare(dentry, iattr); #else rc = inode_change_ok(pInode, iattr);
comment:12 by , 5 years ago
Once we apply this fix and can compile the guest GAs we fail during modload of the vboxsf module:
linux-9798:/opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14 # make load rmmod: ERROR: Module vboxvideo is not currently loaded rmmod: ERROR: Module vboxvfs is not currently loaded rmmod: ERROR: Module vboxsf is not currently loaded rmmod: ERROR: Module vboxguest is in use insmod: ERROR: could not insert module vboxguest.ko: File exists Makefile:100: recipe for target 'load' failed make: *** [load] Error 1 [ 1425.435543] vboxguest: misc device minor 58, IRQ 20, I/O port d040, MMIO at 00000000f2400000 (size 0x400000) [ 1425.435547] vboxguest: Successfully loaded version 6.0.14 (interface 0x00010004) [ 1425.445975] vboxsf: Unknown symbol noop_backing_dev_info (err 0)
Now we know that one already from Ticket #18926
That kernel function is not exported in the 4.1 kernel branch.
So we also need the fix for Ticket #18926 to verify vboxsf successfuly here.
With this changeset also applied, I could verify the inital fix and the shared folder code works now on this distribution/kernel.
comment:13 by , 5 years ago
comment:14 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Meanwhile V5.2.4 of VirtualBox is released and still the same problem. I even tried actual test build 5.2.5-120181.
For some reason today the guest did not switch time several months into the past during startup, and so I got some more information as output of journalctl -xn:
Jan 11 07:57:23 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0x5609 stripped size=0xc0005609
Jan 11 07:57:28 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc02c5600 stripped size=0xc0005600
Jan 11 07:57:28 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc020560c stripped size=0xc000560c
Jan 11 07:57:28 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0x5609 stripped size=0xc0005609
Jan 11 07:57:33 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc02c5600 stripped size=0xc0005600
Jan 11 07:57:33 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc020560c stripped size=0xc000560c
Jan 11 07:57:33 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0x5609 stripped size=0xc0005609
Jan 11 07:57:38 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc02c5600 stripped size=0xc0005600
Jan 11 07:57:38 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0xc020560c stripped size=0xc000560c
Jan 11 07:57:38 atsmtester kernel: VGDrvCommonIoCtl: Unknown request iFunction=0x5609 stripped size=0xc0005609