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
5e5f905de3
commit
2ad036b657
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=138531
@ -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