[SOLVED] Kernel 3.19.1-201.fc21.x86_64 breaks VMWare
FedoraForum.org - Fedora Support Forums and Community
Results 1 to 10 of 10
  1. #1
    Join Date
    Jan 2005
    Location
    Columbus, Ohio, USA
    Posts
    134
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    Used yum to update to the latest kernel this morning, which forced a rebuild of VMWare Workstation 11.1.0 build-2496824

    The build failed, however, with complaints such as:

    Code:
    /tmp/modconfig-1Xsnv4/vmnet-only/driver.c:1194:20: error: ‘struct file’ has no member named ‘f_dentry’
        if (filp && filp->f_dentry) {
                        ^
    According to the link below (contains comments and solutions) the problem is specific to 3.19.
    https://communities.vmware.com/message/2469395

    The "easy" solution references https://wiki.archlinux.org/index.php/VMware, which contains step by step instructions, which worked for me. I will recreate the text here in case the site goes down.

    Code:
    $ curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch
    Extract the vmnet module sources:

    Code:
    $ cd /usr/lib/vmware/modules/source
    # tar -xf vmnet.tar
    Apply the patch:

    Code:
    # patch -p0 -i /tmp/vmnet-3.19.patch
    Recreate the archive:

    Code:
    # tar -cf vmnet.tar vmnet-only
    Remove leftover:

    Code:
    # rm -r *-only
    OK, I was root when I did this, and I used the following, but it is a brutal command so use it wisely and do not mistype anything.

    Code:
    # /bin/rm -rf *-only

    Rebuild modules:

    Code:
    # vmware-modconfig --console --install-all

    Done, and now it works just great.

    Hope this helps someone. I always break out in a cold sweat when I need to do this.

    For the curious, this is what the patch contains:

    Code:
    diff -ur vmnet-only.a/driver.c vmnet-only/driver.c
    --- vmnet-only.a/driver.c	2014-11-20 20:13:56.000000000 -0500
    +++ vmnet-only/driver.c	2015-02-09 15:40:10.916640592 -0500
    @@ -265,10 +265,17 @@
     {
        int ret = -ENOTTY;
     
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
        if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
           ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
        }
        return ret;
    +#else 
    +   if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
    +      ret = VNetFileOpIoctl(filp->f_path.dentry->d_inode, filp, iocmd, ioarg);
    +   }
    +   return ret;
    +#endif
     }
     
     
    @@ -1191,11 +1198,19 @@
        struct inode *inode = NULL;
        long err;
     
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
        if (filp && filp->f_dentry) {
           inode = filp->f_dentry->d_inode;
        }
        err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
        return err;
    +#else 
    +   if (filp && filp->f_path.dentry) {
    +      inode = filp->f_path.dentry->d_inode;
    +   }
    +   err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
    +   return err;
    +#endif
     }
     #endif
     
    diff -ur vmnet-only.a/userif.c vmnet-only/userif.c
    --- vmnet-only.a/userif.c	2014-11-20 20:13:56.000000000 -0500
    +++ vmnet-only/userif.c	2015-02-09 15:41:02.150847338 -0500
    @@ -523,7 +523,13 @@
           .iov_base = buf,
           .iov_len  = len,
        };
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
        return skb_copy_datagram_iovec(skb, 0, &iov, len);
    +#else
    +   struct iov_iter to;
    +   iov_iter_init(&to, READ, &iov, 1, len);
    +   return skb_copy_datagram_iter(skb, 0, &to, len);
    +#endif
     }

  2. #2
    Join Date
    Dec 2007
    Location
    Albuquerque, New Mexico USA
    Age
    68
    Posts
    161
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    Thank you for this. I was a bit flummoxed when I noted that VMWare wouldn't start/update after the last kernel update.

    I haven't applied your patch, but I am holding it in reserve in case the kernel update in testing (3.19.2) doesn't resolve the problem.

    In any event, I appreciate your time and effort for chasing this down and it posting to the forum.
    Hope is not a plan

  3. #3
    Join Date
    Jan 2005
    Location
    Columbus, Ohio, USA
    Posts
    134
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    That was my hope. My expectation is that as long as you are using 3.19, you will have the problem. VMWare must compile some of its own code and it uses kernel headers and such. I expect that it will continue to not be able to compile for any version of 3.19 (unless they change the kernel headers that are causing the problem). I expect, however, that if you do apply the patch, that you will not need to recompile for the duration of the 3.19 versions.

    If you notice that things work with 3.19.2, be sure to post here.

  4. #4
    Join Date
    Jun 2005
    Location
    INDIA
    Posts
    809
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    Even after removing vmware or virtual box this kernel is giving me kernel painic error message. Can't boot any more. Though with old version it is working fine.

  5. #5
    Join Date
    Dec 2007
    Location
    Albuquerque, New Mexico USA
    Age
    68
    Posts
    161
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    As you suspected, we've been through two kernel updates and neither addressed the VMWare problem. Applied patch per your directions to 3.19.3-200.fc21.x86_64 and now all works fine.

    Thanks again
    Hope is not a plan

  6. #6
    Join Date
    Apr 2015
    Location
    USA
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Unhappy Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    I applied the patch and still not compiling. Here's the log:

    Code:
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Log for VMware Workstation pid=17408 version=11.1.0 build=build-2496824 option=Release
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: The process is 64-bit.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Host codepage=UTF-8 encoding=UTF-8
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Host is Linux 3.19.3-031903-generic elementary OS Luna
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Msg_Reset:
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: ----------------------------------------
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: DictionaryLoad: Cannot open file "/home/amaury/.vmware/config": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Msg_Reset:
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/amaury/.vmware/config": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: ----------------------------------------
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: PREF Optional preferences file not found at /home/amaury/.vmware/config. Using default values.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: PREF Unable to check permissions for preferences file.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: DictionaryLoad: Cannot open file "/home/amaury/.vmware/preferences": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: Msg_Reset:
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/amaury/.vmware/preferences": No such file or directory.
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: ----------------------------------------
    2015-04-04T13:02:02.356-04:00| vthread-4| I120: PREF Failed to load user preferences.
    2015-04-04T13:02:02.370-04:00| vthread-4| W110: Logging to /tmp/vmware-root/vmware-17408.log
    2015-04-04T13:02:02.374-04:00| vthread-4| I120: Obtaining info using the running kernel.
    2015-04-04T13:02:02.374-04:00| vthread-4| I120: Created new pathsHash.
    2015-04-04T13:02:02.374-04:00| vthread-4| I120: Setting header path for 3.19.3-031903-generic to "/lib/modules/3.19.3-031903-generic/build/include".
    ... (shortened to meel 10K char limit) ...
    2015-04-04T13:02:02.472-04:00| vthread-4| I120: Setting vsock to depend on vmci.
    2015-04-04T13:02:02.472-04:00| vthread-4| I120: Invoking modinfo on "vmmon".
    2015-04-04T13:02:02.473-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 0.
    2015-04-04T13:02:02.473-04:00| vthread-4| I120: Invoking modinfo on "vmnet".
    2015-04-04T13:02:02.475-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
    2015-04-04T13:02:02.475-04:00| vthread-4| I120: Invoking modinfo on "vmblock".
    2015-04-04T13:02:02.476-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
    2015-04-04T13:02:02.476-04:00| vthread-4| I120: Invoking modinfo on "vmci".
    2015-04-04T13:02:02.476-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
    2015-04-04T13:02:02.476-04:00| vthread-4| I120: Invoking modinfo on "vsock".
    2015-04-04T13:02:02.479-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 0.
    2015-04-04T13:02:02.487-04:00| vthread-4| I120: to be installed: vmnet status: 0
    2015-04-04T13:02:02.492-04:00| vthread-4| I120: Obtaining info using the running kernel.
    2015-04-04T13:02:02.492-04:00| vthread-4| I120: Setting header path for 3.19.3-031903-generic to "/lib/modules/3.19.3-031903-generic/build/include".
    2015-04-04T13:02:02.492-04:00| vthread-4| I120: Validating path "/lib/modules/3.19.3-031903-generic/build/include" for kernel release "3.19.3-031903-generic".
    2015-04-04T13:02:02.492-04:00| vthread-4| I120: using /usr/bin/gcc-4.6 for preprocess check
    2015-04-04T13:02:02.497-04:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.3-031903-generic".
    2015-04-04T13:02:02.497-04:00| vthread-4| I120: The header path "/lib/modules/3.19.3-031903-generic/build/include" for the kernel "3.19.3-031903-generic" is valid.  Whoohoo!
    2015-04-04T13:02:02.572-04:00| vthread-4| I120: found symbol version file /lib/modules/3.19.3-031903-generic/build/Module.symvers
    2015-04-04T13:02:02.572-04:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.3-031903-generic/build/Module.symvers.
    2015-04-04T13:02:02.584-04:00| vthread-4| I120: Read 18457 symbol versions
    2015-04-04T13:02:02.584-04:00| vthread-4| I120: Kernel header path retrieved from FileEntry: /lib/modules/3.19.3-031903-generic/build/include
    2015-04-04T13:02:02.584-04:00| vthread-4| I120: Update kernel header path to /lib/modules/3.19.3-031903-generic/build/include
    2015-04-04T13:02:02.584-04:00| vthread-4| I120: Validating path "/lib/modules/3.19.3-031903-generic/build/include" for kernel release "3.19.3-031903-generic".
    2015-04-04T13:02:02.584-04:00| vthread-4| I120: using /usr/bin/gcc-4.6 for preprocess check
    2015-04-04T13:02:02.587-04:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.3-031903-generic".
    2015-04-04T13:02:02.587-04:00| vthread-4| I120: The header path "/lib/modules/3.19.3-031903-generic/build/include" for the kernel "3.19.3-031903-generic" is valid.  Whoohoo!
    2015-04-04T13:02:02.588-04:00| vthread-4| I120: Found compiler at "/usr/bin/gcc"
    2015-04-04T13:02:02.589-04:00| vthread-4| I120: Got gcc version "4.6".
    2015-04-04T13:02:02.589-04:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
    2015-04-04T13:02:02.589-04:00| vthread-4| I120: Using user supplied compiler "/usr/bin/gcc".
    2015-04-04T13:02:02.590-04:00| vthread-4| I120: Got gcc version "4.6".
    2015-04-04T13:02:02.590-04:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
    2015-04-04T13:02:02.592-04:00| vthread-4| I120: Trying to find a suitable PBM set for kernel "3.19.3-031903-generic".
    2015-04-04T13:02:02.592-04:00| vthread-4| I120: No matching PBM set was found for kernel "3.19.3-031903-generic".
    2015-04-04T13:02:02.592-04:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
    2015-04-04T13:02:02.592-04:00| vthread-4| I120: Validating path "/lib/modules/3.19.3-031903-generic/build/include" for kernel release "3.19.3-031903-generic".
    2015-04-04T13:02:02.592-04:00| vthread-4| I120: using /usr/bin/gcc-4.6 for preprocess check
    2015-04-04T13:02:02.595-04:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.3-031903-generic".
    2015-04-04T13:02:02.595-04:00| vthread-4| I120: The header path "/lib/modules/3.19.3-031903-generic/build/include" for the kernel "3.19.3-031903-generic" is valid.  Whoohoo!
    2015-04-04T13:02:02.595-04:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
    2015-04-04T13:02:02.595-04:00| vthread-4| I120: Validating path "/lib/modules/3.19.3-031903-generic/build/include" for kernel release "3.19.3-031903-generic".
    2015-04-04T13:02:02.595-04:00| vthread-4| I120: using /usr/bin/gcc-4.6 for preprocess check
    2015-04-04T13:02:02.598-04:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.3-031903-generic".
    2015-04-04T13:02:02.598-04:00| vthread-4| I120: The header path "/lib/modules/3.19.3-031903-generic/build/include" for the kernel "3.19.3-031903-generic" is valid.  Whoohoo!
    2015-04-04T13:02:02.598-04:00| vthread-4| I120: Using temp dir "/tmp".
    2015-04-04T13:02:02.599-04:00| vthread-4| I120: Obtaining info using the running kernel.
    2015-04-04T13:02:02.599-04:00| vthread-4| I120: Setting header path for 3.19.3-031903-generic to "/lib/modules/3.19.3-031903-generic/build/include".
    2015-04-04T13:02:02.599-04:00| vthread-4| I120: Validating path "/lib/modules/3.19.3-031903-generic/build/include" for kernel release "3.19.3-031903-generic".
    2015-04-04T13:02:02.599-04:00| vthread-4| I120: using /usr/bin/gcc-4.6 for preprocess check
    2015-04-04T13:02:02.601-04:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.3-031903-generic".
    2015-04-04T13:02:02.601-04:00| vthread-4| I120: The header path "/lib/modules/3.19.3-031903-generic/build/include" for the kernel "3.19.3-031903-generic" is valid.  Whoohoo!
    2015-04-04T13:02:02.676-04:00| vthread-4| I120: found symbol version file /lib/modules/3.19.3-031903-generic/build/Module.symvers
    2015-04-04T13:02:02.676-04:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.3-031903-generic/build/Module.symvers.
    2015-04-04T13:02:02.687-04:00| vthread-4| I120: Read 18457 symbol versions
    2015-04-04T13:02:02.687-04:00| vthread-4| I120: Invoking modinfo on "vmnet".
    2015-04-04T13:02:02.688-04:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
    2015-04-04T13:02:03.547-04:00| vthread-4| I120: Setting destination path for vmnet to "/lib/modules/3.19.3-031903-generic/misc/vmnet.ko".
    2015-04-04T13:02:03.547-04:00| vthread-4| I120: Extracting the vmnet source from "/usr/lib/vmware/modules/source/vmnet.tar".
    2015-04-04T13:02:03.551-04:00| vthread-4| I120: Successfully extracted the vmnet source.
    2015-04-04T13:02:03.551-04:00| vthread-4| I120: Building module with command "/usr/bin/make -j4 -C /tmp/modconfig-aN6ly7/vmnet-only auto-build HEADER_DIR=/lib/modules/3.19.3-031903-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
    2015-04-04T13:02:04.505-04:00| vthread-4| W110: Failed to build vmnet.  Failed to execute the build command.

  7. #7
    Join Date
    Apr 2015
    Location
    Timisoara
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    Thanks, this worked for 3.19.3 as well.

  8. #8
    Join Date
    Dec 2007
    Location
    Albuquerque, New Mexico USA
    Age
    68
    Posts
    161
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    The patch is also required for Workstation 11.0 running on Fedora 22 beta, and for Workstation version 11.1

    ******** extra extraneous information *********

    Over the weekend I upgraded the machine to Fedora 22 Beta. It installed kernel 4.0 something. VMWare, when started for the first time, failed to install the virtual network module as above. Installed the patch and VMware Workstation 11.0 now works normally on Fedora 22 Beta.

    This morning, VMWare pushed Workstation version 11.1. Installed this as prompted. After the upgrade, Workstation 11.1 failed to install required virtual network kernel module as with previous version. Again, installing the patch above restored normal operation for version 11.1.

    FYI and good luck.

    Thanks, pitonyak, for posting this. Saved me a great deal of trouble and time (again).
    Hope is not a plan

  9. #9
    Join Date
    Jun 2015
    Location
    USA
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare

    The top post fixed the module build problem, thank you!

    I did have a problem getting VMware Workstation to run as non-root, though. After the patch, I kept trying to click the icon (or run /usr/bin/vmware) and it would prompt me that it thought it needed to install the kernel modules into the live kernel, even though the steps above took care of all of that. After I clicked the install button again, it would prompt for the root password then just exit.

    I then found I could run Workstation normally as root, and it didn't prompt about modules needing to be installed. I discovered that the permissions on files in the modules directory were read-only by root, whereas in an older kernel they were readable by public.

    Running chmod -R a+rX /lib/modules/`uname -r` allowed me to run Workstation as a non-root user.

  10. #10
    Join Date
    Jul 2015
    Location
    Cologne
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Kernel 3.19.1-201.fc21.x86_64 breaks VMWare


Similar Threads

  1. Nvidia driver don't boot with kernel-3.17.0-301.fc21.x86_64
    By chepioq in forum F21 Development Forum
    Replies: 17
    Last Post: 18th October 2014, 03:11 PM
  2. kernel.x86_64 0:3.17.0-300.fc21
    By dd_wizard in forum F21 Development Forum
    Replies: 9
    Last Post: 10th October 2014, 02:25 AM
  3. [SOLVED]
    3.9.2-200.fc18 kernel breaks VMWare Tools
    By SnoopyLane in forum Using Fedora
    Replies: 2
    Last Post: 18th May 2013, 08:29 PM
  4. Replies: 4
    Last Post: 29th January 2013, 10:33 PM
  5. kernel.x86_64 2.6.5-76.fc7 breaks ndiswrapper
    By jmcharry in forum Using Fedora
    Replies: 3
    Last Post: 2nd October 2007, 05:32 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •