qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 3/7] linux-user: Use guest_start_len_valid in msync.


From: Richard Henderson
Subject: [Qemu-devel] [PATCH 3/7] linux-user: Use guest_start_len_valid in msync.
Date: Tue, 30 Mar 2010 11:49:18 -0700

Make sure to properly handle len = 0 first.

Signed-off-by: Richard Henderson <address@hidden>
---
 linux-user/mmap.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 46923c7..f4d44a8 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -706,15 +706,18 @@ int target_msync(abi_ulong start, abi_ulong len, int 
flags)
 {
     abi_ulong end;
 
-    if (start & ~TARGET_PAGE_MASK)
+    if (start & ~TARGET_PAGE_MASK) {
         return -EINVAL;
+    }
+    if (len == 0) {
+        return 0;
+    }
     len = TARGET_PAGE_ALIGN(len);
-    end = start + len;
-    if (end < start)
+    if (!guest_start_len_valid(start, len)) {
         return -EINVAL;
-    if (end == start)
-        return 0;
+    }
 
+    end = start + len;
     start &= qemu_host_page_mask;
     return msync(g2h(start), end - start, flags);
 }
-- 
1.6.6.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]