{"id":2165,"date":"2017-12-27T11:57:57","date_gmt":"2017-12-27T19:57:57","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=2165"},"modified":"2017-12-27T11:57:57","modified_gmt":"2017-12-27T19:57:57","slug":"kernel-4-14-9-breaks-nvidia-and-a-fix","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=2165","title":{"rendered":"KERNEL &#8211; 4.14.9 Breaks NVIDIA &#8211; and a Fix.."},"content":{"rendered":"<p>Just updated to Kernel <strong>4.14.9<\/strong>, and normally this should not be anything to cause concern, but this time there has been a significant code change made, that has <span style=\"text-decoration: underline;\">broken<\/span> NVIDIA (384.98):<\/p>\n<pre><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-384.98\/kernel\/nvidia-uvm\/uvm8_va_block.c: In function \u2018block_cpu_fault_locked\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/usr\/src\/linux-4.14.9\/arch\/x86\/include\/asm\/processor.h:826:39: error: implicit declaration of function \u2018task_stack_page\u2019; did you mean \u2018task_stack_vm_area\u2019? [-Werror=implicit-function-declaration]<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> unsigned long __ptr = (unsigned long)task_stack_page(task); \\<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/usr\/src\/linux-4.14.9\/arch\/x86\/include\/asm\/processor.h:900:26: note: in expansion of macro \u2018task_pt_regs\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> #define KSTK_EIP(task) (task_pt_regs(task)-&gt;ip)<\/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-384.98\/kernel\/nvidia-uvm\/uvm8_va_block.c:8771:41: note: in expansion of macro \u2018KSTK_EIP\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> KSTK_EIP(current));<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">cc1: some warnings being treated as errors<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[3]: *** [\/usr\/src\/linux-4.14.9\/scripts\/Makefile.build:315: \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98\/kernel\/nvidia-uvm\/uvm8_va_block.o] Error 1<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[2]: *** [\/usr\/src\/linux-4.14.9\/Makefile:1504: _module_\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98\/kernel] Error 2<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[2]: Leaving directory '\/usr\/src\/linux-4.14.9'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[1]: *** [Makefile:146: sub-make] Error 2<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[1]: Leaving directory '\/usr\/src\/linux-4.14.9'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make: *** [Makefile:81: modules] Error 2<\/span><\/strong><\/pre>\n<p>This sort of thing is expected in &#8216;testing&#8217; -rc kernel versions, but is not supposed to occur in &#8216;mainline\/stable&#8217; versions..<\/p>\n<p>It had already been mentioned in the Kernel mailing list:\u00a0 <a href=\"http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1712.3\/00099.html\" target=\"_blank\" rel=\"noopener\">http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1712.3\/00099.html<\/a><\/p>\n<p>Fortunately, there is a fix, and it is &#8211; somewhat ironically &#8211; the patch intended for Kernel 4.15 (see <a href=\"https:\/\/rglinuxtech.com\/?p=2141\" target=\"_blank\" rel=\"noopener\">https:\/\/rglinuxtech.com\/?p=2141<\/a> ), and with this, the compile\/load completes successfully:<\/p>\n<pre><span style=\"font-family: courier new,courier;\"><strong>............................<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>ld -r -o \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-modeset\/nv-modeset-interface.o \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-modeset\/nvidia-modeset-linux.o<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> Building modules, stage 2.<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> MODPOST 4 modules<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-drm.mod.o<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-drm.ko<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-modeset.mod.o<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-modeset.ko<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-uvm.mod.o<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia-uvm.ko<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia.mod.o<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98-415\/kernel\/nvidia.ko<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make[2]: Leaving directory '\/usr\/src\/linux-4.14.9'<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make[1]: Leaving directory '\/usr\/src\/linux-4.14.9'<\/strong><\/span><\/pre>\n<p>It remains to be seen whether this significant change to the stable 4.14 kernel series will be <em>reverted<\/em>, but &#8211; IMHO &#8211; it should be!<\/p>\n<p><em>FYI.. I had seen a report that VMware 14.1.0 was also broken with Kernel 4.14.9, but it seems OK on my system..<\/em><\/p>\n<p><em>Robert Gadsdon.\u00a0 December 27, 2017.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just updated to Kernel 4.14.9, and normally this should not be anything to cause concern, but this time there has been a significant code change made, that has broken NVIDIA (384.98): &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-384.98\/kernel\/nvidia-uvm\/uvm8_va_block.c: In function \u2018block_cpu_fault_locked\u2019: \/usr\/src\/linux-4.14.9\/arch\/x86\/include\/asm\/processor.h:826:39: error: implicit declaration of function \u2018task_stack_page\u2019; did you mean \u2018task_stack_vm_area\u2019? [-Werror=implicit-function-declaration] unsigned long __ptr = (unsigned long)task_stack_page(task); \\ ^ \/usr\/src\/linux-4.14.9\/arch\/x86\/include\/asm\/processor.h:900:26: <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=2165\"><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,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5,6,14,15,18],"tags":[1780,440,1173,1779,242,1760],"class_list":["post-2165","post","type-post","status-publish","format-standard","hentry","category-compilation","category-crash-and-burn","category-kernel","category-linux-2","category-nvidia","tag-4-15-patch-fix","tag-compile-fail","tag-kernel","tag-kernel-4-14-9","tag-linux","tag-nvidia-384-98"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2165","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=2165"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2165\/revisions"}],"predecessor-version":[{"id":2167,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2165\/revisions\/2167"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}