Comments

VMware – Still No Solution for Kernel 6.5.. — 14 Comments

  1. Try this … I’ve using it for a while …

    — vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:04:13.247729900 +0800
    +++ vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:05:41.717728599 +0800
    @@ -91,7 +91,7 @@
    } else {
    pte_t *pte;

    – pte = pte_offset_map(pmd, addr);
    + pte = pte_offset_kernel(pmd, addr);
    if (pte_present(*pte) == 0) {
    pte_unmap(pte);
    return INVALID_MPN;
    — vmware/vmnet-only/bridge.c 2023-06-30 09:13:50.917668443 +0800
    +++ vmware/vmnet-only/bridge.c 2023-06-30 09:14:05.747668224 +0800
    @@ -44,6 +44,7 @@
    #include
    #include
    #include
    +#include

    #ifdef CONFIG_NET_RADIO
    # include

    • Thanks. The vmnet part of the patch seems to be missing some text, but I’ll try the vmmon one – and vmnet with the existing temp patchset seemed to be OK..
      RG.

    • Don’t know why it got cut-off … here’s the missing part …

      — vmware/vmnet-only/bridge.c 2023-06-30 09:13:50.917668443 +0800
      +++ vmware/vmnet-only/bridge.c 2023-06-30 09:14:05.747668224 +0800
      @@ -44,6 +44,7 @@
      #include
      #include
      #include
      +#include

      #ifdef CONFIG_NET_RADIO
      # include

  2. Ok, this website is stripping off the < and > if there’s a “+” in at the beginning …

    So, here’s the complete patch ..

    — vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:04:13.247729900 +0800
    +++ vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:05:41.717728599 +0800
    @@ -91,7 +91,7 @@
    } else {
    pte_t *pte;

    – pte = pte_offset_map(pmd, addr);
    + pte = pte_offset_kernel(pmd, addr);
    if (pte_present(*pte) == 0) {
    pte_unmap(pte);
    return INVALID_MPN;
    — vmware/vmnet-only/bridge.c 2023-06-30 09:13:50.917668443 +0800
    +++ vmware/vmnet-only/bridge.c 2023-06-30 09:14:05.747668224 +0800
    @@ -44,6 +44,7 @@
    #include
    #include
    #include
    +#include <net/gso.h>

    #ifdef CONFIG_NET_RADIO
    # include

  3. I’ve uploaded the patch to … https://github.com/jeffersonchua/linux-6.5.0/blob/main/patch-17.0.2-6.5.0

    Here’s the HTML version to add back the and “”

    — vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:04:13.247729900 +0800
    +++ vmware/vmmon-only/include/pgtbl.h 2023-06-30 08:05:41.717728599 +0800
    @@ -91,7 +91,7 @@
    } else {
    pte_t *pte;

    –\tpte = pte_offset_map(pmd, addr);
    +\tpte = pte_offset_kernel(pmd, addr);
    \tif (pte_present(*pte) == 0) {
    \t\tpte_unmap(pte);
    \t\treturn INVALID_MPN;
    — vmware/vmnet-only/bridge.c 2023-06-30 09:13:50.917668443 +0800
    +++ vmware/vmnet-only/bridge.c 2023-06-30 09:14:05.747668224 +0800
    @@ -44,6 +44,7 @@
    #include
    #include
    #include
    +#include

    #ifdef CONFIG_NET_RADIO
    # include

  4. Hey, all!

    Glad to have found this thread, as I’m running into the same issue (here in October) with kernel 6.5.

    I took the patch provided (thank you!) and compiled the sources found in /usr/lib/vmware/modules/source/vmmon.tar and vmnet.tar. However, I can’t figure out how to get my kernel to actually load them, or for that matter, VMWare to stop attempting to compile the modules when I open it.

    Any help you all could provide on how to use this patch would be greatly appreciated.

    • So, following David’s comment here, cd into /usr/lib/vmware/modules/source/, untar vmmon.tar and vmnet.tar:

      ~# cd /usr/lib/vmware/modules/source/
      /usr/lib/vmware/modules/source# tar xpf vmmon.tar
      /usr/lib/vmware/modules/source# tar xpf vmnet.tar

      Modify manually vmmon-only/include/pgtbl.h and vmnet-only/bridge.c with the data in the patch, i.e.:

      # vi vmmon-only/include/pgtbl.h, line 94, replace “pte = pte_offset_map(pmd, addr);” with “pte = pte_offset_kernel(pmd, addr);”
      94 pte = pte_offset_kernel(pmd, addr);

      # vi vmnet-only/bridge.c, add this after line 46:
      47 #include

      Delete the tar files (or rename them or move them elsewhere), then retar the two directories:
      /usr/lib/vmware/modules/source# tar cpf vmmon.tar vmmon-only/
      /usr/lib/vmware/modules/source# tar cpf vmnet.tar vmnet-only/

      Start VMWare and you should be good to go.

  5. So, following David’s comment here, cd into /usr/lib/vmware/modules/source/, untar vmmon.tar and vmnet.tar:
    13:41:46|root:/usr/lib/vmware/modules/source# tar xpf vmmon.tar
    13:41:46|root:/usr/lib/vmware/modules/source# tar xpf vmnet.tar

    Modify manually vmmon-only/include/pgtbl.h and vmnet-only/bridge.c with the date in the patch, i.e.:

    # vi vmmon-only/include/pgtbl.h, line 94, replace “pte = pte_offset_map(pmd, addr);” with “pte = pte_offset_kernel(pmd, addr);”
    94 pte = pte_offset_kernel(pmd, addr);

    # vi vmnet-only/bridge.c, add this after line 46:
    47 #include

    Delete the tar files (or rename them or move them elsewhere), then retar the two directories:
    /usr/lib/vmware/modules/source# tar cpf vmmon.tar vmmon-only/
    /usr/lib/vmware/modules/source# tar cpf vmnet.tar vmnet-only/

    Start VMWare and you should be good to go.

  6. Sorry, typo:

    “Modify manually vmmon-only/include/pgtbl.h and vmnet-only/bridge.c with the *date* in the patch, i.e.:”

    should read

    “Modify manually vmmon-only/include/pgtbl.h and vmnet-only/bridge.c with the *data* in the patch, i.e.:”

  7. So, following David’s comment here, cd into /usr/lib/vmware/modules/source/, untar vmmon.tar and vmnet.tar:

    ~# cd /usr/lib/vmware/modules/source/
    /usr/lib/vmware/modules/source# tar xpf vmmon.tar
    /usr/lib/vmware/modules/source# tar xpf vmnet.tar

    Modify manually vmmon-only/include/pgtbl.h and vmnet-only/bridge.c with the data in the patch, i.e.:

    # vi vmmon-only/include/pgtbl.h, line 94, replace “pte = pte_offset_map(pmd, addr);” with “pte = pte_offset_kernel(pmd, addr);”
    94 pte = pte_offset_kernel(pmd, addr);

    # vi vmnet-only/bridge.c, add this after line 46:
    47 #include

    Delete the tar files (or rename them or move them elsewhere), then retar the two directories:
    /usr/lib/vmware/modules/source# tar cpf vmmon.tar vmmon-only/
    /usr/lib/vmware/modules/source# tar cpf vmnet.tar vmnet-only/

    Start VMWare and you should be good to go.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.