{"id":2023,"date":"2025-05-20T12:00:29","date_gmt":"2025-05-20T18:00:29","guid":{"rendered":"https:\/\/embeddedor.com\/blog\/?p=2023"},"modified":"2025-05-20T18:14:10","modified_gmt":"2025-05-21T00:14:10","slug":"speaking-at-the-university-of-adelaide","status":"publish","type":"post","link":"https:\/\/embeddedor.com\/blog\/2025\/05\/20\/speaking-at-the-university-of-adelaide\/","title":{"rendered":"Speaking at The University of Adelaide"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"930\" src=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-700x930.jpg\" alt=\"\" class=\"wp-image-1753\" srcset=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-700x930.jpg 700w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-226x300.jpg 226w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-768x1020.jpg 768w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-1157x1536.jpg 1157w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-1542x2048.jpg 1542w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-800x1063.jpg 800w, https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/PXL_20250217_022205240-1-scaled.jpg 1928w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>While in Australia &#x1f1e6;&#x1f1fa;, I had the honor of being invited to give a guest talk to graduate and master&#8217;s students at <a href=\"https:\/\/www.adelaide.edu.au\/\" target=\"_blank\" rel=\"noreferrer noopener\">The University of Adelaide<\/a>. It was a truly special experience because it was my first time presenting at a university, and one I deeply value as a meaningful milestone in my career. &#x1f642;&#x1f64f;&#x1f3fc;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Enhancing spatial safety: Better array-bounds checking in C (and Linux) (University of Adelaide \u2013Guest talk)<\/p>\n\n\n\n<p>The C language has historically suffered from a lack of proper bounds-checking on all kinds of arrays. The Kernel Self-Protection Project has been addressing this issue for several years. In this presentation, we will learn about the most recent hardening efforts to resolve the problem of bounds-checking, particularly for fixed-size and flexible arrays.<\/p>\n\n\n\n<p>We will explore the different mechanisms being used to harden key APIs like <code>memcpy()<\/code> against buffer overflows, which includes the use of some interesting built-in compiler functions. We will also talk about a couple of recent compiler options like <code>-fstrict-flex-arrays<\/code> and <code>-Wflex-array-member-not-at-end<\/code>, as well as the new <code>counted_by<\/code> attribute released in Clang-18 a year ago, which helps us gain run-time bounds-checking coverage on flexible arrays.<\/p>\n\n\n\n<p>Overall, we will discuss how various challenges have been overcome, and highlight the innovations developed to solve the problem of array bounds-checking in both C and the Linux kernel once and for all.<\/p>\n<\/blockquote>\n\n\n\n<p>See the slides below.<\/p>\n\n\n<a href=\"https:\/\/embeddedor.com\/blog\/wp-content\/uploads\/2025\/05\/uniadl2025.pdf\" class=\"pdfemb-viewer\" style=\"\" data-width=\"max\" data-height=\"max\" data-toolbar=\"bottom\" data-toolbar-fixed=\"off\">uniadl2025<\/a>\n\n\n<p><\/p>\n\n\n\n<p>See the video of the presentation below.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Enhancing spatial safety: Better array-bounds checking in C (and Linux) - Gustavo A. R. Silva\" width=\"700\" height=\"394\" src=\"https:\/\/www.youtube.com\/embed\/pvmiCyf8NnQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/embeddedor.com\/blog\/presentations\/#Enhancing_spatial_safety_Better_array-bounds_checking_in_C_and_Linux_University_of_Adelaide_%E2%80%93Guest_talk\" target=\"_blank\" rel=\"noreferrer noopener\">Enhancing spatial safety: Better array-bounds checking in C (and Linux) (University of Adelaide \u2013Guest talk)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>While in Australia &#x1f1e6;&#x1f1fa;, I had the honor of being invited to give a guest talk to graduate and master&#8217;s students at The University of Adelaide. It was a truly special experience because it was my first time presenting at a university, and one I deeply value as a meaningful milestone in my career. &#x1f642;&#x1f64f;&#x1f3fc;&#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":[13,9,22,11,29],"tags":[],"class_list":["post-2023","post","type-post","status-publish","format-standard","hentry","category-kernel-self-protection-project","category-linux-kernel-hardening","category-mentoring","category-open-source","category-presentations"],"_links":{"self":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/2023","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=2023"}],"version-history":[{"count":6,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/2023\/revisions"}],"predecessor-version":[{"id":2030,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/posts\/2023\/revisions\/2030"}],"wp:attachment":[{"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/media?parent=2023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/categories?post=2023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embeddedor.com\/blog\/wp-json\/wp\/v2\/tags?post=2023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}