冬休みの工作
ちょっと話題になっていた、スタックオーバーフローの話。
スタックの上限部分にガードエリアを設定して、マジックナンバで埋めて
アクセスがあったことを判定する話が出ていた。
stm32(Cortex-M)だったら、ガードエリアをMPUでアクセス禁止にしておけば、
メモリフォルト例外で処理できるのでは?
と思って実装してみた。
例外ハンドラに分岐するところまでは行くんだけど、
メモリフォルトが解除できなくて、通常処理に戻れない...
もうちょっとで、動きそうなんだけど、時間切れだ。
今日の所はここまで。
まあ、スタックオーバーフローする様な状況で、
処理を戻してもしょうがないかな。
------
各位、良いお年をお迎えください。
と思って実装してみた。
例外ハンドラに分岐するところまでは行くんだけど、
メモリフォルトが解除できなくて、通常処理に戻れない...
もうちょっとで、動きそうなんだけど、時間切れだ。
今日の所はここまで。
まあ、スタックオーバーフローする様な状況で、
処理を戻してもしょうがないかな。
------
各位、良いお年をお迎えください。
| 固定リンク | 0
コメント