VirtualBox

Changeset 44163 in vbox


Ignore:
Timestamp:
Dec 19, 2012 12:25:14 PM (12 years ago)
Author:
vboxsync
Message:

Linux Additions/shared folders: don't crash on remount if we were not called from mount.vboxsf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c

    r44148 r44163  
    441441#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 23)
    442442    struct sf_glob_info *sf_g;
    443     struct vbsf_mount_info_new *info;
    444443    struct sf_inode_info *sf_i;
    445444    struct inode *iroot;
     
    449448    sf_g = GET_GLOB_INFO(sb);
    450449    BUG_ON(!sf_g);
    451     BUG_ON(data[0] != 0);
    452     info = (struct vbsf_mount_info_new *)data;
    453     BUG_ON(   info->signature[0] != VBSF_MOUNT_SIGNATURE_BYTE_0
    454            || info->signature[1] != VBSF_MOUNT_SIGNATURE_BYTE_1
    455            || info->signature[2] != VBSF_MOUNT_SIGNATURE_BYTE_2);
    456 
    457     sf_g->uid = info->uid;
    458     sf_g->gid = info->gid;
    459     sf_g->ttl = info->ttl;
    460     sf_g->dmode = info->dmode;
    461     sf_g->fmode = info->fmode;
    462     sf_g->dmask = info->dmask;
    463     sf_g->fmask = info->fmask;
     450    if (data && data[0] != 0)
     451    {
     452        struct vbsf_mount_info_new *info =
     453            (struct vbsf_mount_info_new *)data;
     454        if (   info->signature[0] == VBSF_MOUNT_SIGNATURE_BYTE_0
     455            && info->signature[1] == VBSF_MOUNT_SIGNATURE_BYTE_1
     456            && info->signature[2] == VBSF_MOUNT_SIGNATURE_BYTE_2)
     457        {
     458            sf_g->uid = info->uid;
     459            sf_g->gid = info->gid;
     460            sf_g->ttl = info->ttl;
     461            sf_g->dmode = info->dmode;
     462            sf_g->fmode = info->fmode;
     463            sf_g->dmask = info->dmask;
     464            sf_g->fmask = info->fmask;
     465        }
     466    }
    464467
    465468    iroot = ilookup(sb, 0);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette