diff options
| author | 2002-05-24 13:10:52 +0000 | |
|---|---|---|
| committer | 2002-05-24 13:10:52 +0000 | |
| commit | 86d3bebf4ac5a1c3224ab6b783e92c5dd05bbe22 (patch) | |
| tree | 5d9c8a9936c8fa365b1ce1197123b93da7b0e98b /sys/uvm/uvm_pdaemon.c | |
| parent | protect biodone with splbio. (diff) | |
| download | wireguard-openbsd-86d3bebf4ac5a1c3224ab6b783e92c5dd05bbe22.tar.xz wireguard-openbsd-86d3bebf4ac5a1c3224ab6b783e92c5dd05bbe22.zip | |
Make sure that b_iodone handlers are called at splbio (and splassert(IPL_BIO) in all known callers, just to make sure).
Diffstat (limited to 'sys/uvm/uvm_pdaemon.c')
| -rw-r--r-- | sys/uvm/uvm_pdaemon.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/uvm/uvm_pdaemon.c b/sys/uvm/uvm_pdaemon.c index dfa77ec9949..e011f925412 100644 --- a/sys/uvm/uvm_pdaemon.c +++ b/sys/uvm/uvm_pdaemon.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_pdaemon.c,v 1.24 2002/03/14 01:27:18 millert Exp $ */ +/* $OpenBSD: uvm_pdaemon.c,v 1.25 2002/05/24 13:10:53 art Exp $ */ /* $NetBSD: uvm_pdaemon.c,v 1.23 2000/08/20 10:24:14 bjh21 Exp $ */ /* @@ -334,7 +334,9 @@ uvm_aiodone_daemon(void *arg) uvmexp.paging -= bp->b_bufsize >> PAGE_SHIFT; } nbp = TAILQ_NEXT(bp, b_freelist); + s = splbio(); /* b_iodone must by called at splbio */ (*bp->b_iodone)(bp); + splx(s); bp = nbp; } if (free <= uvmexp.reserve_kernel) { |
