{"id":1654,"date":"2024-11-21T16:44:47","date_gmt":"2024-11-21T22:44:47","guid":{"rendered":"https:\/\/embeddedor.com\/blog\/?p=1654"},"modified":"2026-04-14T15:54:28","modified_gmt":"2026-04-14T21:54:28","slug":"memory-corruption-bug-in-the-wireless-subsystem","status":"publish","type":"post","link":"https:\/\/embeddedor.com\/blog\/2024\/11\/21\/memory-corruption-bug-in-the-wireless-subsystem\/","title":{"rendered":"Memory corruption bug in the Wireless subsystem"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"255\" src=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf-700x255.png\" alt=\"\" class=\"wp-image-1656\" srcset=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf-700x255.png 700w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf-300x109.png 300w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf-768x280.png 768w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf-800x291.png 800w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-14-55-lpceu2024.pdf.png 1117w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><code>-Wflex-array-member-not-at-end<\/code> continues to catch memory corruption bugs in the Linux kernel &#x1f41b;&#x1fab2;&#x1f427;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/lore.kernel.org\/linux-hardening\/ZxwWPrncTeSi1UTq@kspp\/\">[PATCH v2] wifi: mac80211: ieee80211_i: Fix memory corruption bug in struct ieee80211_chanctx<\/a> <\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"1024\" src=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva-700x1024.png\" alt=\"\" class=\"wp-image-1655\" srcset=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva-700x1024.png 700w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva-205x300.png 205w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva-768x1124.png 768w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva-800x1170.png 800w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-21-at-16-08-51-PATCH-v2-wifi-mac80211-ieee80211_i-Fix-memory-corruption-bug-in-struct-ieee80211_chanctx-Gustavo-A.-R.-Silva.png 851w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p><br><br>Here&#8217;s a link to the slides and video from my latest presentation on the ongoing efforts to globally enable the <code>-Wflex-array-member-not-at-end<\/code> compiler option in the upstream Linux kernel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/embeddedor.com\/blog\/presentations\/#Enhancing_spatial_safety_Fixing_thousands_of_-Wflex-array-member-not-at-end_warnings_Kernel_Recipes\" target=\"_blank\" rel=\"noreferrer noopener\">Enhancing spatial safety: Fixing thousands of -Wflex-array-member-not-at-end_warnings &#8211; Kernel_Recipes 2024<\/a><\/li>\n<\/ul>\n\n\n\n<p><br>This work aims to eliminate these types of memory corruption bugs from the kernel once and for all. &#x1f600;&#x1f64c;&#x1f3fd;<br><br>Kernel Self-Protection Project &#x2694;&#xfe0f;&#x1f6e1;&#xfe0f;&#x1f427;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>-Wflex-array-member-not-at-end continues to catch memory corruption bugs in the Linux kernel &#x1f41b;&#x1fab2;&#x1f427;: Here&#8217;s a link to the slides and video from my latest presentation on the ongoing efforts to globally enable the -Wflex-array-member-not-at-end compiler option in the upstream Linux kernel: This work aims to eliminate these types of memory corruption bugs from the kernel once&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[31,13,18,9],"tags":[],"class_list":["post-1654","post","type-post","status-publish","format-standard","hentry","category-wfamnae","category-kernel-self-protection-project","category-linux-kernel-bugs","category-linux-kernel-hardening"],"_links":{"self":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/comments?post=1654"}],"version-history":[{"count":6,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1654\/revisions"}],"predecessor-version":[{"id":1916,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/1654\/revisions\/1916"}],"wp:attachment":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/media?parent=1654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/categories?post=1654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/tags?post=1654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}