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:
parent
81f484b21d
commit
b014c2904e
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user