{"id":102986,"date":"2022-01-17T15:36:46","date_gmt":"2022-01-17T13:36:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81"},"modified":"2022-01-17T15:36:46","modified_gmt":"2022-01-17T13:36:46","slug":"%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81","title":{"rendered":"The fourth edition of patches for the Linux kernel with Rust language support.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Miguel Ojeda, the author of the Rust-for-Linux project, has proposed a fourth option for components for developing device drivers in the Rust language for consideration by the Linux kernel developers. Support for Rust is viewed as experimental but has already been approved for inclusion in the linux-next branch and is sufficiently advanced to begin work on creating abstraction layers over kernel subsystems, as well as writing drivers and modules. The development is funded by Google and the Internet Security Research Group (ISRG), which is the founding organization of the Let's Encrypt project and promotes HTTPS and the development of technologies to enhance internet security.            <\/p>\n<p>As a reminder, the proposed changes allow Rust to be used as a secondary language for developing drivers and kernel modules. Rust support is presented as an option, not enabled by default, and does not lead to Rust being included among the mandatory build dependencies for the kernel. Using Rust for driver development will enable creating secure and higher-quality drivers with minimal effort, free from issues such as dereferencing freed memory, null pointer dereferencing, and buffer overflows.    <\/p>\n<p>Safe memory handling in Rust is ensured at compile time through reference checking, ownership tracking of objects, and considerations of object lifetimes (scope), as well as runtime checks for correctness in memory access. Rust also provides protections against integer overflows, requires variables to be initialized before use, manages errors more effectively in the standard library, employs immutability by default for references and variables, and offers strong static typing to minimize logical errors.    <\/p>\n<p>In the new version of the patches, the elimination of comments made during the discussion of the first, second, and third versions of the patches continues. In the new version:        <\/p>\n<ul>\n<li class=\"l\"> A transition has been made to use the stable release of Rust 1.58.0 as the reference compiler. Among the necessary changes for the project that have not yet been included in the main Rust toolchain are the flag '-Zsymbol-mangling-version=v0' (expected in Rust 1.59.0) and the 'maybe_uninit_extra' mode (expected in Rust 1.60.0).\n<li class=\"l\"> Automatic checks for the availability of the appropriate Rust toolchain have been added, and capabilities for testing Rust support in the system have been expanded.\n<li class=\"l\"> New abstractions have been proposed for accessing device identifier tables from Rust code ('IdArray' and 'IdTable').\n<li class=\"l\"> Layers for accessing timer-related functions (clock framework) have been added.\n<li class=\"l\"> Drivers for platforms are now defined through the implementation of traits.\n<li class=\"l\"> A new macro for simplifying platform driver registration has been added, along with a proposed new template for a basic driver.\n<li class=\"l\"> Macros have been added for structures 'dev_*'.\n<li class=\"l\"> Methods '{read,write}*_relaxed' have been added for the type IoMem.\n<li class=\"l\"> The FileOpener property has been removed to simplify file operations.\n<li class=\"l\"> A new parameter 'ThisModule' has been added to the arguments passed during driver registration.\n<li class=\"l\"> A template has been proposed for creating kernel modules in Rust.  <\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56523\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f, \u043d\u043e \u0443\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0442\u043a\u0443 linux-next \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0430 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0441\u043b\u043e\u0451\u0432 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u043d\u0430\u0434 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u044f\u0434\u0440\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \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-102986","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\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\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\u0427\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81\" \/>\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=\"2022-01-17T13:36:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-01-17T13:36:46+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\udd47Fourth Edition of Linux Kernel Patches with Rust Language Support | ProHoster","description":"Miguel Ojeda, the author of the Rust-for-Linux project, proposed for consideration by the Linux kernel developers a fourth version of components for developing device drivers in Rust.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81","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\u0427\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster","og:description":"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/%d1%87%d0%b5%d1%82%d0%b2%d1%91%d1%80%d1%82%d0%b0%d1%8f-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%86%d0%b8%d1%8f-%d0%bf%d0%b0%d1%82%d1%87%d0%b5%d0%b9-%d0%b4%d0%bb%d1%8f-%d1%8f%d0%b4%d1%80%d0%b0-linux-%d1%81","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":"2022-01-17T13:36:46+00:00","article:modified_time":"2022-01-17T13:36:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102986","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-01-17 13:38:09","updated":"2022-09-27 16:54:02","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\/102986","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=102986"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/102986\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=102986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=102986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=102986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}