diff options
author | kib <kib@FreeBSD.org> | 2010-05-02 19:25:22 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2010-05-02 19:25:22 +0000 |
commit | 9c4f2e9ab2c6f540192e135b002316c170d45a76 (patch) | |
tree | 6e69896be05fa25451179dc9108ed4ff386ce8ad /sys/kern/uipc_syscalls.c | |
parent | 299c89c6fb0cdd9e93b22b9aed707322f2846c8a (diff) | |
download | FreeBSD-src-9c4f2e9ab2c6f540192e135b002316c170d45a76.zip FreeBSD-src-9c4f2e9ab2c6f540192e135b002316c170d45a76.tar.gz |
Lock the page around hold_count access.
Reviewed by: alc
Diffstat (limited to 'sys/kern/uipc_syscalls.c')
-rw-r--r-- | sys/kern/uipc_syscalls.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index a14be72..3271235 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -2108,6 +2108,7 @@ retry_space: mbstat.sf_iocnt++; } if (error) { + vm_page_lock(pg); vm_page_lock_queues(); vm_page_unwire(pg, 0); /* @@ -2121,6 +2122,7 @@ retry_space: vm_page_free(pg); } vm_page_unlock_queues(); + vm_page_unlock(pg); VM_OBJECT_UNLOCK(obj); if (error == EAGAIN) error = 0; /* not a real error */ |