diff options
author | alc <alc@FreeBSD.org> | 2004-09-29 19:20:40 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-09-29 19:20:40 +0000 |
commit | 118a3c283b4d55527625f7c225bab927cc6e8a5b (patch) | |
tree | 84e879c73d19a080f90e5a8d82f490bd13e57a88 /games | |
parent | 3793e610ff87a0e982b946fb512883efc2a352a3 (diff) | |
download | FreeBSD-src-118a3c283b4d55527625f7c225bab927cc6e8a5b.zip FreeBSD-src-118a3c283b4d55527625f7c225bab927cc6e8a5b.tar.gz |
Prevent the unexpected deallocation of a page table page while performing
pmap_copy(). This entails additional locking in pmap_copy() and the
addition of a "flags" parameter to the page table page allocator for
specifying whether it may sleep when memory is unavailable. (Already,
pmap_copy() checks the availability of memory, aborting if it is scarce.
In theory, another CPU could, however, allocate memory between
pmap_copy()'s check and the call to the page table page allocator,
causing the current thread to release its locks and sleep. This change
makes this scenario impossible.)
Reviewed by: tegge@
Diffstat (limited to 'games')
0 files changed, 0 insertions, 0 deletions