{"id":1788,"date":"2016-08-08T09:29:23","date_gmt":"2016-08-08T08:29:23","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1788"},"modified":"2016-08-08T09:29:23","modified_gmt":"2016-08-08T08:29:23","slug":"kernel-4-8-rc1-out-breaks-vmware-and-nvidia-and-fixes","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1788","title":{"rendered":"KERNEL &#8211; 4.8-rc1 Out &#8211; Breaks VMware and NVIDIA &#8211; and Fixes.."},"content":{"rendered":"<p>Kernel <strong>4.8-rc1<\/strong> is out, and brief details are here:\u00a0\u00a0 <a href=\"http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1608.0\/04804.html\" target=\"_blank\">http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1608.0\/04804.html<\/a><\/p>\n<p>VMware 12.1.1 &#8211; with the previous 4.6\/4.7 patches, fails to compile <em>vmmon<\/em>:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">\/tmp\/modconfig-gfkQLR\/vmmon-only\/linux\/hostif.c: In function \u2018HostIF_EstimateLockedPageLimit\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/tmp\/modconfig-gfkQLR\/vmmon-only\/linux\/hostif.c:1597:47: error: \u2018NR_ANON_PAGES\u2019 undeclared (first use in this function)<\/span><\/strong><\/pre>\n<p>Further research revealed that NR_ANON_PAGES has been changed to NR_ANON_MAPPED in 4.8, and so the fix is quite simple..<\/p>\n<p>In <span style=\"font-family: courier new,courier;\"><strong>~\/vmmon-only\/linux\/hostif.c<\/strong><\/span>, around line 1594, change<br \/>\n<span style=\"font-family: courier new,courier;\">unsigned int anonPages = global_page_state(NR_ANON_PAGES);<\/span><br \/>\nto<br \/>\n<span style=\"font-family: courier new,courier;\">unsigned int anonPages = global_page_state(NR_ANON_MAPPED);<\/span><\/p>\n<p>With this change, vmmon compiles OK again..<\/p>\n<p>For NVIDIA driver 367.35 &#8211; with the 4.7 patches &#8211; the compilation fails with 4.8-rc1:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm\/nvidia-drm-drv.c: In function \u2018nvidia_drm_migrate_modeset_ownership\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm\/nvidia-drm-drv.c:455:26: error: \u2018struct drm_minor\u2019 has no member named \u2018master\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> !file_priv-&gt;minor-&gt;master)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm\/nvidia-drm-drv.c:476:5: error: implicit declaration of function \u2018drm_master_put\u2019 [-Werror=implicit-function-declaration]<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> drm_master_put(&amp;file_priv-&gt;minor-&gt;master);<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm\/nvidia-drm-drv.c:476:37: error: \u2018struct drm_minor\u2019 has no member named \u2018master\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> drm_master_put(&amp;file_priv-&gt;minor-&gt;master);<\/span><\/strong><\/pre>\n<p>The fix is already documented, thanks to <strong>m00ster<\/strong> and <strong>andresu<\/strong> on the Devtalk forum, and details are here:\u00a0 <a href=\"https:\/\/devtalk.nvidia.com\/default\/topic\/954279\/linux\/nvidia-367-35-dkms-build-errors-for-a-4-7-0-kernel\/\" target=\"_blank\">https:\/\/devtalk.nvidia.com\/default\/topic\/954279\/linux\/nvidia-367-35-dkms-build-errors-for-a-4-7-0-kernel\/<\/a><\/p>\n<p>I have been running driver 367.35 <span style=\"text-decoration: underline;\">without<\/span> these particular patches on 4.7 Final, for some time..\u00a0\u00a0\u00a0 I applied the changes &#8211; manually &#8211; and now 367.35<em>,<\/em> with the original 4.7 patches <span style=\"text-decoration: underline;\">plus<\/span> these patches, compiles OK on 4.8-rc1:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\"> Building modules, stage 2.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> MODPOST 4 modules<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-drm.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-modeset.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-modeset.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-uvm.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia-uvm.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-367.35-patched\/kernel\/nvidia.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[2]: Leaving directory '\/usr\/src\/linux-4.8-rc1'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[1]: Leaving directory '\/usr\/src\/linux-4.8-rc1'<\/span><\/strong><\/pre>\n<p><em>Robert Gadsdon.\u00a0\u00a0 August 8, 2016.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kernel 4.8-rc1 is out, and brief details are here:\u00a0\u00a0 http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1608.0\/04804.html VMware 12.1.1 &#8211; with the previous 4.6\/4.7 patches, fails to compile vmmon: \/tmp\/modconfig-gfkQLR\/vmmon-only\/linux\/hostif.c: In function \u2018HostIF_EstimateLockedPageLimit\u2019: \/tmp\/modconfig-gfkQLR\/vmmon-only\/linux\/hostif.c:1597:47: error: \u2018NR_ANON_PAGES\u2019 undeclared (first use in this function) Further research revealed that NR_ANON_PAGES has been changed to NR_ANON_MAPPED in 4.8, and so the fix is quite simple.. In ~\/vmmon-only\/linux\/hostif.c, around <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1788\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[1238,11,14,15,18,20,25],"tags":[1416,1414,1309,1417,1413,1404,1372,1415,1206,1360],"class_list":["post-1788","post","type-post","status-publish","format-standard","hentry","category-fix","category-hacks","category-kernel","category-linux-2","category-nvidia","category-performance-2","category-vmware","tag-additional-patches","tag-breaks-vmware-and-nvidia","tag-compiles-ok","tag-hostif-c","tag-kernel-4-8-rc1","tag-nvidia-367-35","tag-nvidia-drm","tag-patches-available","tag-vmmon","tag-vmware-12-1-1"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1788"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1788\/revisions"}],"predecessor-version":[{"id":1790,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1788\/revisions\/1790"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}