summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-12-30 21:52:18 +0000
committeralc <alc@FreeBSD.org>2008-12-30 21:52:18 +0000
commitfa3b7c7db33a2028f30fda51026467492a6d7965 (patch)
tree63d26967f9adfc383a759bc1835d1c040af3b04e /sys
parent0aba8d65eecc8015b34293503eb5ff5a6340de63 (diff)
downloadFreeBSD-src-fa3b7c7db33a2028f30fda51026467492a6d7965.zip
FreeBSD-src-fa3b7c7db33a2028f30fda51026467492a6d7965.tar.gz
Avoid an unnecessary memory dereference in vm_map_entry_splay().
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_map.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index bc78ec2..055be3b 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;
}
/*
OpenPOWER on IntegriCloud