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
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
@ -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
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