Use cast where appropriate to avoid integer overflow.
This commit is contained in:
parent
d403e873db
commit
f306f72978
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: uvm_swap.c,v 1.43 2000/12/27 09:17:04 chs Exp $ */
|
/* $NetBSD: uvm_swap.c,v 1.44 2001/01/04 06:07:18 enami Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996, 1997 Matthew R. Green
|
* Copyright (c) 1995, 1996, 1997 Matthew R. Green
|
||||||
|
@ -537,7 +537,8 @@ sys_swapctl(p, v, retval)
|
||||||
* with NetBSD 1.3.
|
* with NetBSD 1.3.
|
||||||
*/
|
*/
|
||||||
sdp->swd_ose.ose_inuse =
|
sdp->swd_ose.ose_inuse =
|
||||||
btodb(sdp->swd_npginuse << PAGE_SHIFT);
|
btodb((u_int64_t)sdp->swd_npginuse <<
|
||||||
|
PAGE_SHIFT);
|
||||||
error = copyout(&sdp->swd_ose, sep,
|
error = copyout(&sdp->swd_ose, sep,
|
||||||
sizeof(struct oswapent));
|
sizeof(struct oswapent));
|
||||||
|
|
||||||
|
@ -1115,7 +1116,7 @@ swstrategy(bp)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pageno -= sdp->swd_drumoffset; /* page # on swapdev */
|
pageno -= sdp->swd_drumoffset; /* page # on swapdev */
|
||||||
bn = btodb(pageno << PAGE_SHIFT); /* convert to diskblock */
|
bn = btodb((u_int64_t)pageno << PAGE_SHIFT); /* convert to diskblock */
|
||||||
|
|
||||||
UVMHIST_LOG(pdhist, " %s: mapoff=%x bn=%x bcount=%ld",
|
UVMHIST_LOG(pdhist, " %s: mapoff=%x bn=%x bcount=%ld",
|
||||||
((bp->b_flags & B_READ) == 0) ? "write" : "read",
|
((bp->b_flags & B_READ) == 0) ? "write" : "read",
|
||||||
|
@ -1188,8 +1189,9 @@ sw_reg_strategy(sdp, bp, bn)
|
||||||
{
|
{
|
||||||
struct vnode *vp;
|
struct vnode *vp;
|
||||||
struct vndxfer *vnx;
|
struct vndxfer *vnx;
|
||||||
daddr_t nbn, byteoff;
|
daddr_t nbn;
|
||||||
caddr_t addr;
|
caddr_t addr;
|
||||||
|
off_t byteoff;
|
||||||
int s, off, nra, error, sz, resid;
|
int s, off, nra, error, sz, resid;
|
||||||
UVMHIST_FUNC("sw_reg_strategy"); UVMHIST_CALLED(pdhist);
|
UVMHIST_FUNC("sw_reg_strategy"); UVMHIST_CALLED(pdhist);
|
||||||
|
|
||||||
|
@ -1211,7 +1213,7 @@ sw_reg_strategy(sdp, bp, bn)
|
||||||
error = 0;
|
error = 0;
|
||||||
bp->b_resid = bp->b_bcount; /* nothing transfered yet! */
|
bp->b_resid = bp->b_bcount; /* nothing transfered yet! */
|
||||||
addr = bp->b_data; /* current position in buffer */
|
addr = bp->b_data; /* current position in buffer */
|
||||||
byteoff = dbtob(bn);
|
byteoff = dbtob((u_int64_t)bn);
|
||||||
|
|
||||||
for (resid = bp->b_resid; resid; resid -= sz) {
|
for (resid = bp->b_resid; resid; resid -= sz) {
|
||||||
struct vndbuf *nbp;
|
struct vndbuf *nbp;
|
||||||
|
@ -1696,7 +1698,7 @@ uvm_swap_io(pps, startslot, npages, flags)
|
||||||
/*
|
/*
|
||||||
* convert starting drum slot to block number
|
* convert starting drum slot to block number
|
||||||
*/
|
*/
|
||||||
startblk = btodb(startslot << PAGE_SHIFT);
|
startblk = btodb((u_int64_t)startslot << PAGE_SHIFT);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* first, map the pages into the kernel (XXX: currently required
|
* first, map the pages into the kernel (XXX: currently required
|
||||||
|
|
Loading…
Reference in New Issue