diff options
Diffstat (limited to 'sys/vm/vm_map.c')
| -rw-r--r-- | sys/vm/vm_map.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index bc78ec2d7fdf..055be3b1c7f6 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -737,9 +737,9 @@ vm_map_entry_splay(vm_offset_t addr, vm_map_entry_t root) rlist = root; root = y; } - } else { + } else if (addr >= root->end) { y = root->right; - if (addr < root->end || y == NULL) + if (y == NULL) break; if (addr >= y->end && y->right != NULL) { /* Rotate left and put y on llist. */ @@ -755,7 +755,8 @@ vm_map_entry_splay(vm_offset_t addr, vm_map_entry_t root) llist = root; root = y; } - } + } else + break; } /* |
