メモリ破壊やROP(Return Oriented Programming)を防ぐための技術。アドレスの使われていないビットを使って認証情報を埋め込み、ロードするときに検証するらしい。
気になるポイント
- 実行時のオーバーヘッドがどのくらいあるのか
- 認証の仕組みがどうなっているのか
- 将来的にページテーブルの層が増えたときに仮想アドレスの使えるビット数が足りなくならないか
参考になりそうなリンク
swiftlang/swift#30112
https://events.static.linuxfound.org/sites/events/files/slides/slides_23.pdf