Skip to content

Commit 4606e73

Browse files
committed
Fix readme
1 parent e56ae0b commit 4606e73

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,15 @@ platforms may need to be done independently.
168168
- *make* using `make PLATFORM_PREFIX=aarch64-linux-gnu- EMULATOR=qemu-aarch64 test`
169169
170170
## A note about Intel CET
171-
Intel's Conontrol-Flow Enforcement Technology is incompatible with stack switching
172-
because it imploys a secondary Shadow Stack, that the user-mode program cannot
171+
Intel's *Control-Flow Enforcement Technology* is incompatible with stack switching
172+
because it employs a secondary *Shadow Stack*, that the user-mode program cannot
173173
modify. Unexpected return flow after a stack switch would cause the processor
174-
to fault. Because of this, we need to mark any assembly code as not CET compatible. Modern compilers are beginning to generate CET compatible objects and
175-
once supporting CPUs start to arrive, processes which consist entirely of CET compatible code may be run in such a protected environment. See https://software.intel.com/content/www/us/en/develop/articles/technical-look-control-flow-enforcement-technology.html for more information
174+
to fault. Because of this, we need to mark any assembly code as **not CET compatible** by
175+
adding special compiler flags to supporting compilers (currently modern GNU C).
176+
Modern compilers are beginning to generate CET compatible objects and
177+
once supporting CPUs start to arrive, processes which consist entirely of CET compatible
178+
code may be run in such a protected environment.
179+
See https://software.intel.com/content/www/us/en/develop/articles/technical-look-control-flow-enforcement-technology.html for more information
176180
177181
## History
178182
This works was originally inspired by *Stackless Python* by [Christian Tismer](https://github.com/ctismer), where the original switching code was

0 commit comments

Comments
 (0)