commit | 4fcd22fbb0e6d42ecc25652096984375f0a5b37a | [log] [tgz] |
---|---|---|
author | Simon Shields <simon.shields@data61.csiro.au> | Tue Jun 18 13:32:16 2019 +1000 |
committer | Simon Shields <simon.shields@data61.csiro.au> | Tue Jun 25 09:54:01 2019 +1000 |
tree | cc7edecc2e525ef8f60376a8d109bb120ac170c3 | |
parent | e4c54575a69da4eee4894e50e6b2b1fa1c96b479 [diff] |
allocman: fix use of ALLOCMAN_NO_PADDR Throughout allocman, various parts of the code for allocating a specific paddr would check that the paddr fell within the bounds of a given untyped node. Unfortunately, in some cases ALLOCMAN_NO_PADDR + node->size would overlap with the paddr and cause a false positive - allocman would *think* that a given node contains the request paddr, when in fact it didn't. Eventually, everything would fall apart: ALLOCMAN_NO_PADDR+node->size would not be large enough to reach the paddr, and allocman would end up with a NULL node where it wasn't expecting one. Fix this issue by avoiding nodes with paddr == ALLOCMAN_NO_PADDR whenever we're searching through node lists, thus preventing such 'false positive' situations from occurring.
A collection of libraries for working on seL4.
The files in this repository are release under standard open source licenses. Please see individual file headers and the LICENSE_BSD2
.txt file for details.