VirtualBox

Opened 6 years ago

Closed 6 years ago

#17990 closed defect (duplicate)

vboxsf failed to compile on Fedora 28 with kernel 4.18

Reported by: Thierry Lelegard Owned by:
Component: shared folders Version: VirtualBox 5.2.18
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

Using VBox 5.2.18 r124319 on Windows 7 host with Fedora 28 guest.

Fedora 28 just switched from kernel 4.17 to 4.18. Since then, the vboxsf driver failed to compile in the guest additions.

$ uname -a
Linux vmfedora 4.18.5-200.fc28.x86_64 #1 SMP Tue Sep 4 15:56:14 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Excerpt from /var/log/vboxadd-setup.log (full file attached):

/tmp/vbox.0/utils.c: In function ‘sf_init_inode’:
/tmp/vbox.0/utils.c:165:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
     sf_ftime_from_timespec(&inode->i_atime, &info->AccessTime);
                            ^~~~~~~~~~~~~~~
/tmp/vbox.0/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
 static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
                                    ~~~~~~~~~~~~~~~~~^~
/tmp/vbox.0/utils.c:166:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
     sf_ftime_from_timespec(&inode->i_ctime, &info->ChangeTime);
                            ^~~~~~~~~~~~~~~
/tmp/vbox.0/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
 static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
                                    ~~~~~~~~~~~~~~~~~^~
/tmp/vbox.0/utils.c:167:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
     sf_ftime_from_timespec(&inode->i_mtime, &info->ModificationTime);
                            ^~~~~~~~~~~~~~~
/tmp/vbox.0/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
 static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
                                    ~~~~~~~~~~~~~~~~~^~
/tmp/vbox.0/utils.c: In function ‘sf_setattr’:
/tmp/vbox.0/utils.c:377:54: error: passing argument 2 of ‘sf_timespec_from_ftime’ from incompatible pointer type [-Werror=incompatible-pointer-types]
             sf_timespec_from_ftime(&info.AccessTime, &iattr->ia_atime);
                                                      ^~~~~~~~~~~~~~~~
/tmp/vbox.0/utils.c:63:69: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
 static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
                                                    ~~~~~~~~~~~~~~~~~^~
/tmp/vbox.0/utils.c:379:60: error: passing argument 2 of ‘sf_timespec_from_ftime’ from incompatible pointer type [-Werror=incompatible-pointer-types]
             sf_timespec_from_ftime(&info.ModificationTime, &iattr->ia_mtime);
                                                            ^~~~~~~~~~~~~~~~
/tmp/vbox.0/utils.c:63:69: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
 static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
                                                    ~~~~~~~~~~~~~~~~~^~

I assume that kernel 4.18 introduced a non-backward compatible change which must be handled in the driver source code.

Attachments (1)

vboxadd-setup.log (25.7 KB ) - added by Thierry Lelegard 6 years ago.
Compile log

Download all attachments as: .zip

Change History (2)

by Thierry Lelegard, 6 years ago

Attachment: vboxadd-setup.log added

Compile log

comment:1 by janitor, 6 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use