[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 7/7] Use guest_start_len_valid in page_check_range.
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 7/7] Use guest_start_len_valid in page_check_range. |
Date: |
Tue, 30 Mar 2010 12:32:53 -0700 |
Also remove an assertion on start being in range. The values
here can come directly from the guest via a syscall, and so
very well may be out of range via plain bug or DoS attack.
Signed-off-by: Richard Henderson <address@hidden>
---
exec.c | 9 +--------
1 files changed, 1 insertions(+), 8 deletions(-)
diff --git a/exec.c b/exec.c
index d69194c..ed5eacf 100644
--- a/exec.c
+++ b/exec.c
@@ -2454,17 +2454,10 @@ int page_check_range(target_ulong start, target_ulong
len, int flags)
target_ulong end;
target_ulong addr;
- /* This function should never be called with addresses outside the
- guest address space. If this assert fires, it probably indicates
- a missing call to h2g_valid. */
-#if TARGET_ABI_BITS > L1_MAP_ADDR_SPACE_BITS
- assert(start < ((abi_ulong)1 << L1_MAP_ADDR_SPACE_BITS));
-#endif
-
if (len == 0) {
return 0;
}
- if (start + len - 1 < start) {
+ if (!guest_start_len_valid(start, len)) {
/* We've wrapped around. */
return -1;
}
--
1.6.6.1
- [Qemu-devel] [PATCH 0/7] Fix tests for start+len address valid for guest, Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 1/7] target-sparc: Fix TARGET_{PHYS, VIRT}_ADDR_SPACE_BITS., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 7/7] Use guest_start_len_valid in page_check_range.,
Richard Henderson <=
- [Qemu-devel] [PATCH 3/7] linux-user: Use guest_start_len_valid in msync., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 6/7] Fix zero-length write(2)., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 2/7] Add guest_start_len_valid function., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 5/7] linux-user: Use guest_start_len_valid in mmap., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 4/7] linux-user: Use guest_start_len_valid in mremap., Richard Henderson, 2010/04/05