質問: vmware workstation 12はlinuxカーネル4.6でモジュールをコンパイルしません 最近、ubuntu 16.04にカーネル4.6をインストールして、ランダムな「サスペンド」クラッシュを止めなければなりませんでした。インストール後に実行しました:sudo vmware-modconfig --console --install-all エラーが発生しました:<snip> from /tmp/modconfig-vkdgcj/vmmon-only/linux/hostif.c:32: /tmp/modconfig-vkdgcj/vmmon-only/linux/hostif.c: in function ‘hostifgetuserpages’: ./arch/x86/include/asm/current.h:17:17: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-wint-conversion] #define current get_current() <snip> from /tmp/modconfig-vkdgcj/vmmon-only/linux/hostif.c:32: ./arch/x86/include/asm/current.h:17:17: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-wint-conversion] #define current get_current() <snip> from /tmp/modconfig-vkdgcj/vmnet-only/userif.c:26: /tmp/modconfig-vkdgcj/vmnet-only/userif.c: in function ‘useriflockpage’: ./arch/x86/include/asm/current.h:17:17: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-wint-conversion] #define current get_current() <snip> scripts/makefile.build:291: recipe for target '/tmp/modconfig-vkdgcj/vmnet-only/userif.o' failed make[2]: *** [/tmp/modconfig-vkdgcj/vmnet-only/userif.o] error 1 make[2]: *** waiting for unfinished jobs.... makefile:1434: recipe for target '_module_/tmp/modconfig-vkdgcj/vmnet-only' failed make[1]: *** [_module_/tmp/modconfig-vkdgcj/vmnet-only] error 2 make[1]: leaving directory '/usr/src/linux-headers-4.6.0-040600-generic' makefile:120: recipe for target 'vmnet.ko' failed make: *** [vmnet.ko] error 2 make: leaving directory '/tmp/modconfig-vkdgcj/vmnet-only' unable to install all modules. see log for details. vmは、vmmonをロードできなかったことに関するエラーで実行されませんでした。
回答: get_user_pagesはget_user_pages_remoteに置き換えられたようですこのパッチで: https://lkml.org/lkml/2016/2/10/555 解決する:(arch linux wikiから:) https://wiki.archlinux.org/index.php/vmware#kernel_modules_fail_to_build_after_linux_4.6 cd /usr/lib/vmware/modules/source tar xf vmmon.tar mv vmmon.tar vmmon.old.tar sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmmon-only/linux/hostif.c tar cf vmmon.tar vmmon-only rm -r vmmon-only tar xf vmnet.tar mv vmnet.tar vmnet.old.tar sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmnet-only/userif.c tar cf vmnet.tar vmnet-only rm -r vmnet-only これはユーザースペースを壊すlinuxパッチのようですが、間違っていますか?