some examples

This commit is contained in:
Hannes Mehnert 2017-09-16 21:14:22 +01:00
parent 0a7f4b339b
commit dd3c0952f8

View file

@ -68,7 +68,14 @@ This concurrency model leads to a cooperative multitasking programming style,
rather than the error prone preemptive multitasking where each code block needs rather than the error prone preemptive multitasking where each code block needs
to make sure to use appropriate locking strategies, to avoid reentrant execution errors. to make sure to use appropriate locking strategies, to avoid reentrant execution errors.
TODO: For example .. A recent example for code which is not safe under reentrant execution, [this
issue in
Ethereum](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)
lead to a huge amount of ether being transferred.
More conventional software, such as [Firefox JavaScript engine](http://www.nist.org/news.php?extend.175),
or [php](https://bugs.php.net/bug.php?id=74308) also suffer on a regular basis
from issues regarding reentrancy.
### Simple process memory model with localized reasoning ### Simple process memory model with localized reasoning
@ -77,7 +84,7 @@ address mapping for each process. Since a unikernel is only a single service, it
uses a single address space, avoiding the need for complex address mapping code uses a single address space, avoiding the need for complex address mapping code
altogether. altogether.
TODO: For example .. An example for messing up the page table is [Xen's XSA-182](http://xenbits.xen.org/xsa/advisory-182.html).
### Simple library model with localized reasoning ### Simple library model with localized reasoning