[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Ignore PROT_GROWSDOWN and PROT_GROWSUP
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH] Ignore PROT_GROWSDOWN and PROT_GROWSUP |
Date: |
Mon, 02 Jul 2007 14:23:50 +0200 |
User-agent: |
Thunderbird 1.5.0.10 (X11/20060911) |
In an mprotect call the flags PROT_GROWSDOWN and PROT_GROWSUP can be
defined. Currently qemu returns an EINVAL as soon as one of these is
found, which breaks some programs (especially mplayer).
As far as I can tell it is safe to ignore these flags and just go on as
if nothing happened. To be on the safe side a warning message to the
user is thrown though.
Is there anything wrong with ignoring these? Should they be implemented
properly? Comments appreciated.
Alex
Index: qemu/linux-user/mmap.c
===================================================================
--- qemu.orig/linux-user/mmap.c
+++ qemu/linux-user/mmap.c
@@ -48,8 +48,10 @@ int target_mprotect(target_ulong start,
end = start + len;
if (end < start)
return -EINVAL;
- if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC))
- return -EINVAL;
+ if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) {
+ gemu_log("WARNING: dirty hack in mprotect: setting prot (%#x ->
%#x)\n", prot, prot & (PROT_READ | PROT_WRITE | PROT_EXEC));
+ prot &= (PROT_READ | PROT_WRITE | PROT_EXEC);
+ }
if (len == 0)
return 0;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] Ignore PROT_GROWSDOWN and PROT_GROWSUP,
Alexander Graf <=