|
@@ -119,7 +119,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int target_prot)
|
|
}
|
|
}
|
|
len = TARGET_PAGE_ALIGN(len);
|
|
len = TARGET_PAGE_ALIGN(len);
|
|
end = start + len;
|
|
end = start + len;
|
|
- if (!guest_range_valid(start, len)) {
|
|
|
|
|
|
+ if (!guest_range_valid_untagged(start, len)) {
|
|
return -TARGET_ENOMEM;
|
|
return -TARGET_ENOMEM;
|
|
}
|
|
}
|
|
if (len == 0) {
|
|
if (len == 0) {
|
|
@@ -528,7 +528,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int target_prot,
|
|
* It can fail only on 64-bit host with 32-bit target.
|
|
* It can fail only on 64-bit host with 32-bit target.
|
|
* On any other target/host host mmap() handles this error correctly.
|
|
* On any other target/host host mmap() handles this error correctly.
|
|
*/
|
|
*/
|
|
- if (end < start || !guest_range_valid(start, len)) {
|
|
|
|
|
|
+ if (end < start || !guest_range_valid_untagged(start, len)) {
|
|
errno = ENOMEM;
|
|
errno = ENOMEM;
|
|
goto fail;
|
|
goto fail;
|
|
}
|
|
}
|
|
@@ -669,7 +669,7 @@ int target_munmap(abi_ulong start, abi_ulong len)
|
|
if (start & ~TARGET_PAGE_MASK)
|
|
if (start & ~TARGET_PAGE_MASK)
|
|
return -TARGET_EINVAL;
|
|
return -TARGET_EINVAL;
|
|
len = TARGET_PAGE_ALIGN(len);
|
|
len = TARGET_PAGE_ALIGN(len);
|
|
- if (len == 0 || !guest_range_valid(start, len)) {
|
|
|
|
|
|
+ if (len == 0 || !guest_range_valid_untagged(start, len)) {
|
|
return -TARGET_EINVAL;
|
|
return -TARGET_EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -727,11 +727,11 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
|
|
int prot;
|
|
int prot;
|
|
void *host_addr;
|
|
void *host_addr;
|
|
|
|
|
|
- if (!guest_range_valid(old_addr, old_size) ||
|
|
|
|
|
|
+ if (!guest_range_valid_untagged(old_addr, old_size) ||
|
|
((flags & MREMAP_FIXED) &&
|
|
((flags & MREMAP_FIXED) &&
|
|
- !guest_range_valid(new_addr, new_size)) ||
|
|
|
|
|
|
+ !guest_range_valid_untagged(new_addr, new_size)) ||
|
|
((flags & MREMAP_MAYMOVE) == 0 &&
|
|
((flags & MREMAP_MAYMOVE) == 0 &&
|
|
- !guest_range_valid(old_addr, new_size))) {
|
|
|
|
|
|
+ !guest_range_valid_untagged(old_addr, new_size))) {
|
|
errno = ENOMEM;
|
|
errno = ENOMEM;
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
@@ -779,7 +779,7 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
|
|
|
|
|
|
if (host_addr != MAP_FAILED) {
|
|
if (host_addr != MAP_FAILED) {
|
|
/* Check if address fits target address space */
|
|
/* Check if address fits target address space */
|
|
- if (!guest_range_valid(h2g(host_addr), new_size)) {
|
|
|
|
|
|
+ if (!guest_range_valid_untagged(h2g(host_addr), new_size)) {
|
|
/* Revert mremap() changes */
|
|
/* Revert mremap() changes */
|
|
host_addr = mremap(g2h_untagged(old_addr),
|
|
host_addr = mremap(g2h_untagged(old_addr),
|
|
new_size, old_size, flags);
|
|
new_size, old_size, flags);
|