aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linux
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2004-01-02 19:29:31 +0000
committerAlan Cox <alc@FreeBSD.org>2004-01-02 19:29:31 +0000
commit277b62040de863f6a7537c16908fcd69e84f4948 (patch)
tree77c97aed5a937b303a52923c95d64df2731c8b87 /sys/compat/linux
parent49e9fc0a0d531c10d024ae0501ce56d9f19a74c9 (diff)
Notes
Diffstat (limited to 'sys/compat/linux')
-rw-r--r--sys/compat/linux/linux_misc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 9e61226782a6..993878550340 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -145,10 +145,11 @@ linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args)
sysinfo.freeram = sysinfo.totalram - cnt.v_wire_count * PAGE_SIZE;
sysinfo.sharedram = 0;
- for (object = TAILQ_FIRST(&vm_object_list); object != NULL;
- object = TAILQ_NEXT(object, object_list))
+ mtx_lock(&vm_object_list_mtx);
+ TAILQ_FOREACH(object, &vm_object_list, object_list)
if (object->shadow_count > 1)
sysinfo.sharedram += object->resident_page_count;
+ mtx_unlock(&vm_object_list_mtx);
sysinfo.sharedram *= PAGE_SIZE;
sysinfo.bufferram = 0;