diff options
author | 2010-06-23 09:36:03 +0000 | |
---|---|---|
committer | 2010-06-23 09:36:03 +0000 | |
commit | d04c0e5ab4961af36b02c9a3093776413b4d8c2d (patch) | |
tree | 3e1a09b247909ff14ab376c58b515d82a5ffaf75 /sys/kern/kern_physio.c | |
parent | Zap a dead prototype, crypto_thread(); Leftover since crypto was (diff) | |
download | wireguard-openbsd-d04c0e5ab4961af36b02c9a3093776413b4d8c2d.tar.xz wireguard-openbsd-d04c0e5ab4961af36b02c9a3093776413b4d8c2d.zip |
Fix a bug in uvm_pmr_get1page() which could cause us to bounce
between an allocating process failing and waking up the pagedaemon
and the pagedaemon (since everything was dandy).
Rework the do ... while () logic searching for pages of a certain
memtype in a pmr into a while () loop where we check if we've found
enough pages and break out of the pmr and check the memtype inside
the loop. This prevents us from doing an early return without enough
pages for the caller even though more pages exist.
comments and help from oga, style nit from miod.
OK miod@, oga@
Diffstat (limited to 'sys/kern/kern_physio.c')
0 files changed, 0 insertions, 0 deletions