{"id":121754,"date":"2025-02-07T15:46:00","date_gmt":"2025-02-07T13:46:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya"},"modified":"2025-02-07T15:46:00","modified_gmt":"2025-02-07T13:46:00","slug":"krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","title":{"rendered":"The crisis in promoting Rust in the kernel is due to concerns about the complexity of maintenance.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Christoph Hellwig, the maintainer of the DMA subsystem, KVM, Slab Allocator, and PowerPC architecture in the Linux kernel, who was once a member of the technical steering committee of the Linux Foundation and was a plaintiff in a GPL-related lawsuit against VMware, refused to accept patches related to support for driver development in Rust. The proposed patches added wrappers over several functions of the DMA subsystem, allowing DMA to be used in drivers written in Rust.     <\/p>\n<p>The stated reason for the refusal was the increased complexity of code maintenance with wrappers in other languages and the desire to keep the software interfaces to DMA in a readable C language format, without muddling it with obscure wrappers. Christoph suggested directly accessing the original C API for DMA in each driver written in Rust to avoid creating additional abstractions that kernel maintainers would have to depend on.       <\/p>\n<p>Patch developers have stated that they will take on all the work to maintain the Rust code, are prepared to support these patches themselves, and have moved the wrappers to a separate subdirectory (rust\/kernel\/dma.rs). In response, Christoph vetoed (\u2018Nacked-by\u2019) the acceptance of the related Rust patches and indicated that he does not need another maintainer. Christoph asserted that if the wrapper developers wish to create an environment where Linux maintenance becomes impossible due to the mixing of several languages in one codebase, they should do so in their own driver rather than spreading this cancerous growth to the core subsystems.     <\/p>\n<p>At the same time, Christoph clarified that he has nothing against the Rust language and considers it one of the best new languages, but he is against mixing code in different languages. According to Christoph, he supports the creation of new projects in Rust but is against mixing Rust with large codebases in C, as such mixing significantly reduces the maintainability of the kernel as an integrated project.                <\/p>\n<p>The essence of the problems with maintenance is that Rust bindings make maintainers dependent on code written in Rust. At first glance, it seems that these bindings are merely extensions to C structures and functions, which does not impact the development and maintenance of C code. However, that is not the case. With such bindings in place, developers of subsystems written in C must consider the impact of their changes on the continued functionality of the bindings. Any change in data structures or internal functions in C may necessitate changes in the bindings\u2019 code, so changes affecting the bindings in C code need to be monitored and synchronized with the Rust code. Many maintainers are unwilling to take on the additional responsibility for fixing issues arising in Rust code and do not intend to spend their time tracking the status of Rust bindings.    <\/p>\n<p>The situation with the complexity of maintenance is not theoretical. Jason Gunthorpe, a maintainer of TPM, VFIO, and Infiniband at NVIDIA, joined the discussion and cited an example where Linus Torvalds rejected a pull request with changes in the memory management subsystem because it caused a crash when attempting to build the kernel with Rust support enabled. The crash occurred because the Rust code maintainers had not added the necessary changes to the bindings generator (bindgen). Thus, the maintainers of the memory management subsystem, while pushing a change that was fully correct from the perspective of C code and the kernel as a whole, found themselves dependent on optional third-party code in the kernel, for which other people are responsible.     <\/p>\n<p>The refusal to accept the wrapping code around DMA calls has put the developers of the Rust for Linux project in a bind, as without such wrappers, developing full-fledged drivers in Rust will be challenging. Hector Martin, maintainer of the code supporting Apple ARM chips and leader of the Ashai Linux project, suggested as a way to resolve the conflict that they seek acceptance of the wrapper directly through Linus Torvalds, bypassing the maintainer of the DMA subsystem. If Linus agrees to such a breach of hierarchy and established practice, it could lead to a management crisis in kernel development; if he refuses, it will halt the advancement of Rust in the kernel.       <\/p>\n<p>As an option, Hector mentioned holding Christoph accountable for violating the code of conduct due to a comment where Christoph compared Rust to a cancerous tumor. Furthermore, Hector expressed his frustration with all the bureaucratic red tape, stating that he was not ready to simply trust established processes and hinted at involving social media. Dave Airlie, the maintainer of the DRM subsystem, advised against escalating the conflict and emphasized that toxic behavior is unacceptable from both sides, regardless of who is right or wrong in the discussion.     <\/p>\n<p>Linus Torvalds joined the discussion, pointing out that the problem may lie with Hector himself and his arrogance in thinking he knows better than others, rather than with the current kernel development process, which is functional. The kernel development process has issues, but this is the reality of life\u2014nothing is perfect. Attempts to bully through social media are what discourage Linus from wanting anything to do with Hector's approach. Technical discussions and patches matter to Linus, not pressure tactics through social media.    <\/p>\n<p>In response, Hector sent a request to remove himself from the ARM\/APPLE platform maintainers, as he has lost faith in the kernel's development process and community management approach. He also stated that ARM\/Apple platform development will continue outside the main Linux kernel. There remains one more maintainer for the ARM\/Apple platform in the kernel\u2014Sven Peter, who intends to continue maintaining the platform in the kernel.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62685\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0432\u0448\u0438\u0439 \u0438\u0441\u0442\u0446\u043e\u043c \u0432 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c \u0441 GPL \u0441\u0443\u0434\u0435\u0431\u043d\u043e\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0441 VMware, \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c \u043f\u0430\u0442\u0447\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0442\u0447\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u043e\u0431\u0432\u044f\u0437\u043a\u0438 \u043d\u0430\u0434 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121754","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0440\u0438\u0437\u0438\u0441 \u0432 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 Rust \u0432 \u044f\u0434\u0440\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-07T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-07T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Crisis in promoting Rust in the kernel due to concerns over maintenance complexity | ProHoster","description":"Christoph Hellwig, maintainer of the DMA, KVM, Slab Allocator subsystems, and PowerPC architecture in the Linux kernel, was formerly a member of the technical governing committee of the Linux Foundation.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0440\u0438\u0437\u0438\u0441 \u0432 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 Rust \u0432 \u044f\u0434\u0440\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-07T13:46:00+00:00","article:modified_time":"2025-02-07T13:46:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121754","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:24:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:24:19","updated":"2026-01-23 10:24:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=121754"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121754\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=121754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=121754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=121754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}