Handle the corner case in vm_fault_quick_hold_pages().
If supplied length is zero, and user address is invalid, function might return -1, due to the truncation and rounding of the address. The callers interpret the situation as EFAULT. Instead of handling the zero length in caller, filter it in vm_fault_quick_hold_pages(). Sponsored by: The FreeBSD Foundation Reviewed by: alc
This commit is contained in:
parent
4dc12088a1
commit
eeb1ebf124
@ -1058,6 +1058,8 @@ vm_fault_quick_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len,
|
||||
int count;
|
||||
boolean_t pmap_failed;
|
||||
|
||||
if (len == 0)
|
||||
return (0);
|
||||
end = round_page(addr + len);
|
||||
addr = trunc_page(addr);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user