この記事は Fujitsu extended Advent Calendar 2016 の 25 日目の記事です。 記事は全て個人の見解です。会社・組織を代表するものではありません。 この記事では Linux カーネルの機能の一つである、KernelAddressSanitizer (KASan) の紹介、および、機能を実際に使った結果を紹介します。 はじめに カーネルやモジュールにおいて、厄介なバグの一つにメモリ破壊があります。メモリ破壊が厄介なのは、破壊されたことはログやメモリダンプ等からわかりますが、破壊したことの証拠が残らないケースが殆どなことです。なので、ひたすらソース解析や、printkやトレースを仕込んでバグを探す・・・という苦行を繰り返す必要があります。 KASan は Linux 4.0 から導入されており、厄介なメモリ破壊につながる以下のバグを検出する手助けをしてくれま
![KernelAddressSanitizer (KASan) による Linux のメモリ破壊問題の検出 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/acfe89857802f9efcaf50d6d871d53bde0a0fa68/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9S2VybmVsQWRkcmVzc1Nhbml0aXplciUyMCUyOEtBU2FuJTI5JTIwJUUzJTgxJUFCJUUzJTgyJTg4JUUzJTgyJThCJTIwTGludXglMjAlRTMlODElQUUlRTMlODMlQTElRTMlODMlQTIlRTMlODMlQUElRTclQTAlQjQlRTUlQTMlOEElRTUlOTUlOEYlRTklQTElOEMlRTMlODElQUUlRTYlQTQlOUMlRTUlODclQkEmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ21pZGRsZSZzPTBmZDNiYjBmMWUxODIwZWFkNTQyY2FlZDJmNDRlZmFj%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWl6dW1tJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02M2ZkMmUyYTJhNjFlNWY0MTEzOTQ3YTlhYzQxZGM4Mw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc84e9ce5a41759214ab617589069a9bb)