There was a bug that the size for an msync'ed region was not rounded
up. The effect of this was that msync with a size would generally sync 1 page less than it should. This problem was brought to my attention by Darrel Herbst <dherbst@gradin.cis.upenn.edu> and Ron Minnich <rminnich@sarnoff.com>.
This commit is contained in:
parent
7c5a56b547
commit
3048c51216
@ -38,7 +38,7 @@
|
|||||||
* from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$
|
* from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$
|
||||||
*
|
*
|
||||||
* @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94
|
* @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94
|
||||||
* $Id: vm_mmap.c,v 1.31 1995/12/07 12:48:19 davidg Exp $
|
* $Id: vm_mmap.c,v 1.32 1995/12/11 04:58:17 dyson Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -329,7 +329,7 @@ msync(p, uap, retval)
|
|||||||
|
|
||||||
map = &p->p_vmspace->vm_map;
|
map = &p->p_vmspace->vm_map;
|
||||||
addr = (vm_offset_t) uap->addr;
|
addr = (vm_offset_t) uap->addr;
|
||||||
size = (vm_size_t) uap->len;
|
size = round_page((vm_size_t) uap->len);
|
||||||
flags = uap->flags;
|
flags = uap->flags;
|
||||||
|
|
||||||
if (((int) addr & PAGE_MASK) || addr + size < addr ||
|
if (((int) addr & PAGE_MASK) || addr + size < addr ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user