aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_map.c
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2008-12-30 21:52:18 +0000
committerAlan Cox <alc@FreeBSD.org>2008-12-30 21:52:18 +0000
commit7438d60b4beddf83bdf7b27e2da7c2685f392b4e (patch)
tree63d26967f9adfc383a759bc1835d1c040af3b04e /sys/vm/vm_map.c
parente7f54c1b713a931316c1df50a75aeee76731a736 (diff)
downloadsrc-7438d60b4beddf83bdf7b27e2da7c2685f392b4e.tar.gz
src-7438d60b4beddf83bdf7b27e2da7c2685f392b4e.zip
Avoid an unnecessary memory dereference in vm_map_entry_splay().
Notes
Notes: svn path=/head/; revision=186618
Diffstat (limited to 'sys/vm/vm_map.c')
-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 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;
}
/*