summaryrefslogtreecommitdiffstats
path: root/sys/vm/swap_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/swap_pager.c')
-rw-r--r--sys/vm/swap_pager.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index e25a556..711a00f 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1134,10 +1134,9 @@ swap_pager_getpages(object, m, count, reqpage)
bp->b_iocmd = BIO_READ;
bp->b_iodone = swp_pager_async_iodone;
- bp->b_rcred = bp->b_wcred = proc0.p_ucred;
+ bp->b_rcred = crhold(proc0.p_ucred);
+ bp->b_wcred = crhold(proc0.p_ucred);
bp->b_data = (caddr_t) kva;
- crhold(bp->b_rcred);
- crhold(bp->b_wcred);
bp->b_blkno = blk - (reqpage - i);
bp->b_bcount = PAGE_SIZE * (j - i);
bp->b_bufsize = PAGE_SIZE * (j - i);
@@ -1386,14 +1385,12 @@ swap_pager_putpages(object, m, count, sync, rtvals)
pmap_qenter((vm_offset_t)bp->b_data, &m[i], n);
- bp->b_rcred = bp->b_wcred = proc0.p_ucred;
+ bp->b_rcred = crhold(proc0.p_ucred);
+ bp->b_wcred = crhold(proc0.p_ucred);
bp->b_bcount = PAGE_SIZE * n;
bp->b_bufsize = PAGE_SIZE * n;
bp->b_blkno = blk;
- crhold(bp->b_rcred);
- crhold(bp->b_wcred);
-
pbgetvp(swapdev_vp, bp);
for (j = 0; j < n; ++j) {
@@ -2082,12 +2079,10 @@ getchainbuf(struct bio *bp, struct vnode *vp, int flags)
nbp->b_iocmd = bp->bio_cmd;
nbp->b_ioflags = bp->bio_flags & BIO_ORDERED;
nbp->b_flags = flags;
- nbp->b_rcred = nbp->b_wcred = proc0.p_ucred;
+ nbp->b_rcred = crhold(proc0.p_ucred);
+ nbp->b_wcred = crhold(proc0.p_ucred);
nbp->b_iodone = vm_pager_chain_iodone;
- crhold(nbp->b_rcred);
- crhold(nbp->b_wcred);
-
if (vp)
pbgetvp(vp, nbp);
return(nbp);
OpenPOWER on IntegriCloud