VMware 커널 모듈 업데이트 프로그램 오류

VMware 커널 모듈 업데이트 프로그램 오류

나는 사용하고있다페도라 29및 커널 버전리눅스 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

관련 정보