This commit is contained in:
linse 2017-09-16 16:26:03 -04:00
parent dd3c0952f8
commit 2764c4f06b

View file

@ -68,14 +68,12 @@ 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.
A recent example for code which is not safe under reentrant execution, [this A recent example for code which is not safe under reentrant execution
issue in [in Ethereum](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)
Ethereum](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)
lead to a huge amount of ether being transferred. 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), Established software like the [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 or [PHP](https://bugs.php.net/bug.php?id=74308) shows similar problems on a regular basis.
from issues regarding reentrancy.
### Simple process memory model with localized reasoning ### Simple process memory model with localized reasoning
@ -84,7 +82,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.
An example for messing up the page table is [Xen's XSA-182](http://xenbits.xen.org/xsa/advisory-182.html). An example for corrupting 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