{"id":146042,"date":"2025-10-21T23:12:38","date_gmt":"2025-10-21T21:12:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust"},"modified":"2025-10-21T23:12:38","modified_gmt":"2025-10-21T21:12:38","slug":"v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust","title":{"rendered":"L'impl\u00e9mentation de Binder IPC pour Android, \u00e9crite en Rust, a \u00e9t\u00e9 accept\u00e9e dans le noyau Linux 6.18.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dans le code de base du noyau Linux, sur lequel est bas\u00e9 la version 6.18, l'impl\u00e9mentation du m\u00e9canisme de communication inter-processus Binder, \u00e9crite en Rust, a \u00e9t\u00e9 adopt\u00e9e. Binder est utilis\u00e9 sur Android pour organiser la communication entre les processus et l'appel de m\u00e9thodes \u00e0 distance (un processus Android peut appeler une m\u00e9thode ou une fonction dans un autre processus Android en utilisant Binder pour identifier, invoquer et transmettre des arguments entre les processus). Le code de Binder a \u00e9t\u00e9 r\u00e9\u00e9crit en Rust dans le cadre d'un projet visant \u00e0 renforcer la s\u00e9curit\u00e9, \u00e0 promouvoir les pratiques de programmation s\u00e9curis\u00e9e et \u00e0 am\u00e9liorer l'efficacit\u00e9 de la d\u00e9tection des probl\u00e8mes de gestion de la m\u00e9moire sur Android (environ 70 % de toutes les vuln\u00e9rabilit\u00e9s critiques d\u00e9tect\u00e9es sur Android sont caus\u00e9es par des erreurs de gestion de la m\u00e9moire).       <\/p>\n<p>L'utilisation de Rust a permis de r\u00e9soudre certains probl\u00e8mes rencontr\u00e9s par les d\u00e9veloppeurs de Binder, y compris des erreurs li\u00e9es au comptage des r\u00e9f\u00e9rences, aux blocages et \u00e0 la v\u00e9rification des limites, tout en r\u00e9duisant consid\u00e9rablement la complexit\u00e9 du traitement des erreurs. L'impl\u00e9mentation de Binder en Rust est fonctionnellement similaire \u00e0 la version initiale en C, passe tous les tests AOSP (Android Open-Source Project) et peut \u00eatre utilis\u00e9e pour cr\u00e9er des versions fonctionnelles des firmwares Android. Malgr\u00e9 des possibilit\u00e9s avanc\u00e9es et un support pour des objets avec une s\u00e9mantique de propri\u00e9t\u00e9 complexe, le pilote en Rust s'est av\u00e9r\u00e9 plus court que sa version en C \u2014 5,5 contre 5,8 milliers de lignes de code.      <\/p>\n<p>Dans la description du commit, l'auteur mentionne les motivations suivantes pour la r\u00e9\u00e9criture de Binder :  <\/p>\n<ul>\n<li class=\"l\"> Binder, qui \u00e9volue depuis 15 ans, a vu sa fonctionnalit\u00e9 et sa complexit\u00e9 augmenter de mani\u00e8re significative durant cette p\u00e9riode \u2014 le projet se trouve \u00e0 l'intersection de tous les composants Android et couvre de nombreuses t\u00e2ches d\u00e9passant le cadre de l'IPC :\n<ul>\n<li class=\"l\"> analyse et transformation correctes du contenu des transactions, qui peuvent contenir plusieurs objets de types diff\u00e9rents (par exemple, des pointeurs, des descripteurs de fichiers), interagissant les uns avec les autres ;\n<li class=\"l\"> contr\u00f4le de la taille des pools de threads dans l'espace utilisateur et garantie de l'attribution des transactions aux threads de mani\u00e8re \u00e0 \u00e9viter les blocages mutuels lors de l'\u00e9puisement des threads dans le pool ;\n<li class=\"l\"> suivi des compteurs de r\u00e9f\u00e9rences des objets partag\u00e9s par plusieurs processus, en transmettant correctement les modifications des compteurs de r\u00e9f\u00e9rences entre les processus ;\n<li class=\"l\"> Le traitement de nombreux sc\u00e9narios d'erreurs et la combinaison de 13 diff\u00e9rents verrouillages, 7 compteurs de liens et de variables atomiques. Dans ce cas, il doit ex\u00e9cuter de telles t\u00e2ches aussi rapidement et correctement que possible.  <\/ul>\n<li class=\"l\"> Le code ancien accumule une dette technique significative, ce qui complique la recherche d'erreurs ainsi que le d\u00e9veloppement ult\u00e9rieur. Par exemple, dans le noyau, il existe de grandes fonctions de plus de mille lignes de code, des m\u00e9thodes de gestion des erreurs douteuses et des structures embrouill\u00e9es.\n<li class=\"l\"> Binder est un composant critique en termes de s\u00e9curit\u00e9 dans Android, car les \u00e9l\u00e9ments de la plateforme fonctionnant dans des environnements sandbox isol\u00e9s, comme le processus de rendu dans Chrome et SW Codec, y ont un acc\u00e8s direct, et une vuln\u00e9rabilit\u00e9 dans Binder permettrait de contourner cette isolation. La complexit\u00e9 \u00e9lev\u00e9e, associ\u00e9e \u00e0 la dette technique, rend le maintien d'un niveau de s\u00e9curit\u00e9 \u00e9lev\u00e9 dans Binder tr\u00e8s difficile.    <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64092\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u044f\u0434\u0440\u0430 Linux, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u043b\u0438\u0437 6.18, \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Binder, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. Binder \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Android \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 \u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 (\u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Android \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 Android, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Binder \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u0432\u044b\u0437\u043e\u0432\u0430 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 [&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-146042","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=\"\u0412 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u044f\u0434\u0440\u0430 Linux, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u043b\u0438\u0437 6.18, \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Binder, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \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\/fr\/blog\/news\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\u0412 \u044f\u0434\u0440\u043e Linux 6.18 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Binder IPC \u0434\u043b\u044f Android, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u044f\u0434\u0440\u0430 Linux, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u043b\u0438\u0437 6.18, \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Binder, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust\" \/>\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-10-21T21:12:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-10-21T21:12:38+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\udd47L'impl\u00e9mentation de Binder IPC pour Android, \u00e9crite en Rust, a \u00e9t\u00e9 accept\u00e9e dans le noyau Linux 6.18 | ProHoster","description":"L'impl\u00e9mentation du m\u00e9canisme de communication interprocessus Binder, \u00e9crite en Rust, a \u00e9t\u00e9 int\u00e9gr\u00e9e \u00e0 la base de code du noyau Linux, sur laquelle est bas\u00e9 le release 6.18.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\u0412 \u044f\u0434\u0440\u043e Linux 6.18 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Binder IPC \u0434\u043b\u044f Android, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 Rust | ProHoster","og:description":"\u0412 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u044f\u0434\u0440\u0430 Linux, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u043b\u0438\u0437 6.18, \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Binder, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yadro-linux-6-18-prinyata-realizacziya-binder-ipc-dlya-android-napisannaya-na-rust","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-10-21T21:12:38+00:00","article:modified_time":"2025-10-21T21:12:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"146042","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 15:29:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 15:29:20","updated":"2026-01-23 15:29:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/146042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=146042"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/146042\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=146042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=146042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=146042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}