qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] page_check_range: fix wrap around test
@ 2008-10-15 21:36 Lauro Ramos Venancio
  0 siblings, 0 replies; 2+ messages in thread
From: Lauro Ramos Venancio @ 2008-10-15 21:36 UTC (permalink / raw)
  To: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 199 bytes --]

Move up the warp around test because line 
'end = TARGET_PAGE_ALIGN(start+len);'
can interfere on it causing Segmentation Fault.

-- 
Lauro Ramos Venancio
INdT - Instituto Nokia de Tecnologia

[-- Attachment #1.2: fix_page_check_range.patch --]
[-- Type: text/x-patch, Size: 662 bytes --]

Index: exec.c
===================================================================
--- exec.c	(revision 5391)
+++ exec.c	(working copy)
@@ -2068,12 +2068,13 @@
     target_ulong end;
     target_ulong addr;
 
+    if( start + len < start )
+        /* we've wrapped around */
+        return -1;
+
     end = TARGET_PAGE_ALIGN(start+len); /* must do before we loose bits in the next step */
     start = start & TARGET_PAGE_MASK;
 
-    if( end < start )
-        /* we've wrapped around */
-        return -1;
     for(addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
         p = page_find(addr >> TARGET_PAGE_BITS);
         if( !p )

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Qemu-devel] [PATCH] page_check_range: fix wrap around test
@ 2008-10-15 22:57 Lauro Ramos Venancio
  0 siblings, 0 replies; 2+ messages in thread
From: Lauro Ramos Venancio @ 2008-10-15 22:57 UTC (permalink / raw)
  To: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 199 bytes --]

Move up the warp around test because line 
'end = TARGET_PAGE_ALIGN(start+len);'
can interfere on it causing Segmentation Fault.

-- 
Lauro Ramos Venancio
INdT - Instituto Nokia de Tecnologia

[-- Attachment #1.2: fix_page_check_range.patch --]
[-- Type: text/x-patch, Size: 662 bytes --]

Index: exec.c
===================================================================
--- exec.c	(revision 5391)
+++ exec.c	(working copy)
@@ -2068,12 +2068,13 @@
     target_ulong end;
     target_ulong addr;
 
+    if( start + len < start )
+        /* we've wrapped around */
+        return -1;
+
     end = TARGET_PAGE_ALIGN(start+len); /* must do before we loose bits in the next step */
     start = start & TARGET_PAGE_MASK;
 
-    if( end < start )
-        /* we've wrapped around */
-        return -1;
     for(addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
         p = page_find(addr >> TARGET_PAGE_BITS);
         if( !p )

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-10-15 22:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-15 21:36 [Qemu-devel] [PATCH] page_check_range: fix wrap around test Lauro Ramos Venancio
  -- strict thread matches above, loose matches on Subject: below --
2008-10-15 22:57 Lauro Ramos Venancio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).