{"id":1204072,"date":"2023-11-17T11:04:11","date_gmt":"2023-11-17T16:04:11","guid":{"rendered":"https:\/\/www.prime-wow.com\/?p=1204072"},"modified":"2023-11-17T11:04:11","modified_gmt":"2023-11-17T16:04:11","slug":"preventing-atomic-context-violations-in-rust-code-with-klint","status":"publish","type":"post","link":"https:\/\/www.prime-wow.com\/?p=1204072","title":{"rendered":"[$] Preventing atomic-context violations in Rust code with klint"},"content":{"rendered":"<p>One of the core constraints when programming in the kernel is the need to<br \/>\navoid sleeping when running in atomic context.  For the most part, the<br \/>\nresponsibility for adherence to this rule is placed on the developer&#8217;s<br \/>\nshoulders;  Rust developers, though, want the compiler to ensure that code<br \/>\nis safe whenever possible.  At the <a href=\"https:\/\/lpc.events\/\">2023 Linux<br \/>\nPlumbers Conference<\/a>, Gary Guo presented (via a remote link) the klint<br \/>\ntool, which can find<br \/>\nand flag many atomic-context violations before they turn into<br \/>\nuser-affecting bugs.&#013;<br \/>\n&#013;<br \/>\nSource: LWN.net &#8211; <a href=\"https:\/\/lwn.net\/Articles\/951550\/\" target=\"_blank\" rel=\"noopener\">[$] Preventing atomic-context violations in Rust code with klint<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the core constraints when programming in the kernel is the need to avoid sleeping when running in atomic context. For the most part, the responsibility for adherence to this rule is placed on the developer&#8217;s shoulders; Rust developers, &hellip; <a href=\"https:\/\/www.prime-wow.com\/?p=1204072\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[75],"class_list":["post-1204072","post","type-post","status-publish","format-standard","hentry","category-linux","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=\/wp\/v2\/posts\/1204072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1204072"}],"version-history":[{"count":0,"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=\/wp\/v2\/posts\/1204072\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1204072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1204072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.prime-wow.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1204072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}