Mark Kettenis <[email protected]> writes:

> Any reason why you're not using MAP_FIXED instead of doing this
> munmap/mmap dance?

Nope, I just forgot about that flag. Thanks!

Here's a diff from the posted version; I've also sent an updated version
of the patch.

diff --git a/os/busfault.c b/os/busfault.c
index 05f610e..45ee074 100644
--- a/os/busfault.c
+++ b/os/busfault.c
@@ -121,15 +121,10 @@ busfault_sigaction(int sig, siginfo_t *info, void *param)
      * /dev/zero over that area and keep going
      */
 
-    if (munmap(busfault->addr, busfault->size) < 0)
-        goto panic;
-
-    new_addr = mmap(busfault->addr, busfault->size, PROT_READ|PROT_WRITE, 
MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+    new_addr = mmap(busfault->addr, busfault->size, PROT_READ|PROT_WRITE, 
MAP_ANONYMOUS|MAP_PRIVATE|MAP_FIXED, -1, 0);
 
-    if (new_addr != busfault->addr) {
-        munmap(new_addr, busfault->size);
+    if (new_addr == MAP_FAILED)
         goto panic;
-    }
 
     return;
 panic:


-- 
[email protected]

Attachment: pgppcy0jLADTm.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to