On 1/13/21 11:59 AM, Brent Paulson wrote:
This sounds like a mismatch between the VirtualBox-supplied mount
utilities and the Linux-supplied shared folder kernel module.  The
VirtualBox mount.vboxsf utility and the VBoxService automount utility
both call mount(2) with a 'data' argument containing a
'vbsf_mount_info_new' structure filled in with the mount details.  The
VirtualBox shared folders kernel module knows how to parse this
structure but if the VirtualBox mount.vboxsf utility is used with a
Linux shared folder kernel module on a recent Linux kernel then the
fs_context_operations parse_monolithic function will be called which on
Linux is currently:

static int vboxsf_parse_monolithic(struct fs_context *fc, void *data)
{
     unsigned char *options = data;

     if (options && options[0] == VBSF_MOUNT_SIGNATURE_BYTE_0 &&
                options[1] == VBSF_MOUNT_SIGNATURE_BYTE_1 &&
                options[2] == VBSF_MOUNT_SIGNATURE_BYTE_2 &&
                options[3] == VBSF_MOUNT_SIGNATURE_BYTE_3) {
         vbg_err("vboxsf: Old binary mount data not supported, remove obsolete 
mount.vboxsf and/or update your VBoxService.\n");
         return -EINVAL;
     }

     return generic_parse_monolithic(fc, data);
}

The 'vbsf_mount_info_new' structure contains the identifying signature
bytes referenced above which explains why the mount options such as
uid=123 aren't seen when there is a userland vs. kernel mismatch.

The VirtualBox mount utilities are going to start calling mount(2) with a
'data' argument containing a string of comma-separated mount options in
the not-too-distant future so that any mismatch going forward won't
cause such surprises.

Brent,

Thanks for the update. I look forward to the not-too-distant update.

Larry

_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to