VMware 核心模組更新程式錯誤

VMware 核心模組更新程式錯誤

我在用軟呢帽29和核心版本Linux 5.0.16-200.fc29.x86_64。在核心更新之前,VMware 工作站 14.1.7工作正常,但更新後,它給出了VMware 核心模組更新程序訊息,並且在嘗試更新時出現錯誤。也嘗試過

sudo vmware-modconfig --console --install-all 

從控制台。

以下是控制台中的錯誤

/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:1502:25: error: ‘totalram_pages’ redeclared as different kind of symbol
    extern unsigned long totalram_pages;

/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:1648:4: error: implicit declaration of function ‘do_gettimeofday’; did you mean ‘do_settimeofday64’? [-Werror=implicit-function-declaration]
    do_gettimeofday(&tv);

/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:3203:40: error: macro "access_ok" passed 3 arguments, but takes just 2
    if (!access_ok(VERIFY_WRITE, p, size)) {
                                        ^
/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:3203:9: error: ‘access_ok’ undeclared (first use in this function)
    if (!access_ok(VERIFY_WRITE, p, size)) {

/tmp/modconfig-NqEL4M/vmnet-only/userif.c:145:52: error: macro "access_ok" passed 3 arguments, but takes just 2
    if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||
                                                    ^
/tmp/modconfig-NqEL4M/vmnet-only/userif.c:145:9: error: ‘access_ok’ undeclared (first use in this function)
    if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||

謝謝大家。

答案1

Linux核心“access_ok”巨集已丟棄第一個參數“type”,因此VMware模組原始碼需要調整。

如果您無法將 VMware 版本更新至 15.1,我建議從以下位置建立原始程式碼https://github.com/mkubecek/vmware-host-modules.git

參考:https://communities.vmware.com/thread/609330

相關內容