{"id":99293,"date":"2021-02-28T10:22:45","date_gmt":"2021-02-28T08:22:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu"},"modified":"2021-02-28T10:22:45","modified_gmt":"2021-02-28T08:22:45","slug":"v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu","title":{"rendered":"\u00cen kernelul Linux 5.12 a fost acceptat subsistemul KFence pentru identificarea erorilor \u00een gestionarea memoriei.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen nucleul Linux 5.12, aflat \u00een dezvoltare, a fost implementat mecanismul KFence (Kernel Electric Fence), care verific\u0103 utilizarea memoriei, detect\u00e2nd dep\u0103\u0219irile de buffer, accesul la memorie dup\u0103 eliberare \u0219i alte erori de acest gen.     <\/p>\n<p>Aceast\u0103 func\u021bionalitate a fost deja prezent\u0103 \u00een nucleu sub forma op\u021biunii de construire KASAN (kernel address sanitizer, folose\u0219te Address Sanitizer \u00een gcc \u0219i clang moderne) \u2014 totu\u0219i, a fost pozi\u021bionat\u0103 \u00een principal pentru utilizarea \u00een debugging. Subsystema KFence se deosebe\u0219te de KASAN prin viteza ridicat\u0103 de lucru, ceea ce permite utilizarea acestei capacit\u0103\u021bi chiar \u0219i \u00een nucleele din sistemele opera\u021bionale.     <\/p>\n<p>Utilizarea pe sistemele de produc\u021bie va permite detectarea erorilor de utilizare a memoriei, care nu apar \u00een runde de testare \u0219i care ies la iveal\u0103 doar \u00een timpul \u00eenc\u0103rc\u0103rilor de lucru sau \u00een urma unei activit\u0103\u021bi \u00eendelungate (cu un timp de func\u021bionare mare). \u00cen plus, aplicarea KFence pe sisteme de produc\u021bie va permite cre\u0219terea semnificativ\u0103 a num\u0103rului de ma\u0219ini implicate \u00een verificarea func\u021bion\u0103rii nucleului cu memoria.    <\/p>\n<p>Cheltuielile minime de resurse, independente de \u00eenc\u0103rcare, sunt ob\u021binute \u00een KFence prin introducerea paginilor de protec\u021bie (guard pages) \u00een heap prin intervale fixe. Dup\u0103 expirarea timpului pentru intervalul de protec\u021bie, KFence, prin sistemul standard de alocare a memoriei (SLAB sau SLUB allocator), adaug\u0103 o nou\u0103 pagin\u0103 de protec\u021bie din pool-ul de obiecte KFence \u0219i re\u00eencepe un nou contor de timp. Fiecare obiect KFence este plasat \u00eentr-o pagin\u0103 de memorie separat\u0103, iar paginile de memorie de la marginea st\u00e2ng\u0103 \u0219i dreapt\u0103 formeaz\u0103 pagini de protec\u021bie (guard pages), a c\u0103ror dimensiune este aleas\u0103 aleatoriu.     <\/p>\n<p>Astfel, paginile cu obiecte sunt separate \u00eentre ele prin pagini de protec\u021bie, care sunt configurate s\u0103 genereze \u201epage fault\u201d la orice acces. Pentru a identifica opera\u021biunile de scriere dincolo de limita bufferului \u00een paginile cu obiecte, se utilizeaz\u0103 suplimentar \u201ezonele ro\u0219ii\u201d pe baza unor \u0219abloane, care ocup\u0103 memoria neutilizat\u0103 de obiecte, r\u0103mas\u0103 \u00een urma aliniamentului dimensiunii paginilor de memorie.      \u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+     | xxxxxxxxx | O :       | xxxxxxxxx |       : O | xxxxxxxxx |     | xxxxxxxxx | B :       | xxxxxxxxx |       : B | xxxxxxxxx |     | x GUARD x | J : RED-  | x GUARD x | RED-  : J | x GUARD x |     | xxxxxxxxx | E :  ZONE | xxxxxxxxx |  ZONE : E | xxxxxxxxx |     | xxxxxxxxx | C :       | xxxxxxxxx |       : C | xxxxxxxxx |     | xxxxxxxxx | T :       | xxxxxxxxx |       : T | xxxxxxxxx |  \u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+\u2014\u2014+    <\/p>\n<p>\u00cen cazul \u00een care se \u00eencearc\u0103 accesarea unei zone dincolo de limitele bufferului, opera\u021bia afecteaz\u0103 pagina de protec\u021bie, ceea ce duce la generarea unui \u201epage fault\u201d, care este interceptat de KFence \u0219i \u00eenregistreaz\u0103 \u00een log datele despre problema identificat\u0103. \u00cen mod implicit, KFence nu blocheaz\u0103 eroarea \u0219i doar afi\u0219eaz\u0103 un avertisment \u00een log, dar exist\u0103 o setare \u201epanic_on_warn\u201d, care permite, \u00een cazul identific\u0103rii unei erori, s\u0103 tranfere nucleul \u00een starea de crash (panic).<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54671\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 Linux 5.12 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 KFence (Kernel Electric Fence), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0444\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u041f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0436\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0430 \u0432 \u044f\u0434\u0440\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043e\u043f\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 KASAN (kernel address sanitizer, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Address Sanitizer \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 gcc [&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-99293","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 Linux 5.12 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 KFence (Kernel Electric Fence), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0444\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435.\" \/>\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\/ro\/blog\/news\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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 5.12 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 KFence \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 Linux 5.12 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 KFence (Kernel Electric Fence), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0444\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu\" \/>\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=\"2021-02-28T08:22:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-28T08:22:45+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\udd47Subsystema KFence a fost acceptat\u0103 \u00een nucleul Linux 5.12 pentru identificarea erorilor \u00een lucrul cu memoria | ProHoster","description":"\u00cen cadrul nucleului Linux 5.12 aflat \u00een dezvoltare este inclus\u0103 implementarea mecanismului KFence (Kernel Electric Fence), care verific\u0103 lucrul cu memoria, captur\u00e2nd ie\u0219irile din limitele buffer-elor \u0219i acces\u0103rile de memorie dup\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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 5.12 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 KFence \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e | ProHoster","og:description":"\u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 Linux 5.12 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 KFence (Kernel Electric Fence), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0444\u0435\u0440\u043e\u0432, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yadro-linux-5-12-prinyata-podsistema-kfence-dlya-vyyavleniya-oshibok-pri-rabote-s-pamyatyu","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":"2021-02-28T08:22:45+00:00","article:modified_time":"2021-02-28T08:22:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99293","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":[],"defaultGraph":"","defaultPostTypeGraph":""},"schema_type":null,"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":"2021-02-28 09:53:11","updated":"2022-09-27 14:10:01","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/99293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=99293"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/99293\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=99293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=99293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=99293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}