diff --git a/docs/SafeStack.rst b/docs/SafeStack.rst index 2412512aee809390aeba0a92340226de06aba3c0..79e02cabef0477969a2afb460a166c16059d5d3d 100644 --- a/docs/SafeStack.rst +++ b/docs/SafeStack.rst @@ -25,7 +25,7 @@ Performance The performance overhead of the SafeStack instrumentation is less than 0.1% on average across a variety of benchmarks (see the `Code-Pointer Integrity -<http://dslab.epfl.ch/pubs/cpi.pdf>`_ paper for details). This is mainly +<http://dslab.epfl.ch/pubs/cpi.pdf>`__ paper for details). This is mainly because most small functions do not have any variables that require the unsafe stack and, hence, do not need unsafe stack frames to be created. The cost of creating unsafe stack frames for large functions is amortized by the cost of @@ -174,14 +174,14 @@ current thread. Design ====== -Please refer to the `Code-Pointer Integrity <http://dslab.epfl.ch/proj/cpi/>`_ +Please refer to the `Code-Pointer Integrity <http://dslab.epfl.ch/proj/cpi/>`__ project page for more information about the design of the SafeStack and its related technologies. Publications ------------ -`Code-Pointer Integrity <http://dslab.epfl.ch/pubs/cpi.pdf>`_. +`Code-Pointer Integrity <http://dslab.epfl.ch/pubs/cpi.pdf>`__. Volodymyr Kuznetsov, Laszlo Szekeres, Mathias Payer, George Candea, R. Sekar, Dawn Song. USENIX Symposium on Operating Systems Design and Implementation (`OSDI <https://www.usenix.org/conference/osdi14>`_), Broomfield, CO, October 2014