Almost nine years ago, when support for 1TB files was introduced in

revision 1.55, the address parameter to vnode_pager_addr() was changed
from an unsigned 32-bit quantity to a signed 64-bit quantity.  However,
an out-of-range check on the address was not updated.  Consequently,
memory-mapped I/O on files greater than 2GB could cause a kernel panic.
Since the address is now a signed 64-bit quantity, the problem resolution
is simply to remove a cast.

Reviewed by: bde@ and tegge@
PR: 73010
MFC after: 1 week
This commit is contained in:
alc 2004-12-07 22:05:38 +00:00
parent 81f484b21d
commit b014c2904e

View File

@ -398,7 +398,7 @@ vnode_pager_addr(vp, address, run)
int voffset;
GIANT_REQUIRED;
if ((int) address < 0)
if (address < 0)
return -1;
if (vp->v_mount == NULL)