[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1914849] Re: mprotect fails after MacOS 11.2 on arm mac
From: |
Roman Bolshakov |
Subject: |
[Bug 1914849] Re: mprotect fails after MacOS 11.2 on arm mac |
Date: |
Mon, 08 Feb 2021 18:08:14 -0000 |
The patch can be used as a workaround for now:
diff --git a/util/osdep.c b/util/osdep.c
index 66d01b9160..76be8c295b 100644
--- a/util/osdep.c
+++ b/util/osdep.c
@@ -110,6 +110,9 @@ int qemu_mprotect_none(void *addr, size_t size)
{
#ifdef _WIN32
return qemu_mprotect__osdep(addr, size, PAGE_NOACCESS);
+#elif defined(__APPLE__) && defined(__arm64__)
+ /* Workaround mprotect (RWX->NONE) issue on Big Sur 11.2 */
+ return 0;
#else
return qemu_mprotect__osdep(addr, size, PROT_NONE);
#endif
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914849
Title:
mprotect fails after MacOS 11.2 on arm mac
Status in QEMU:
New
Bug description:
I got the following error when I ran qemu on arm mac(MacOS 11.2).
```
$ ./qemu-system-x86_64
qemu-system-x86_64: qemu_mprotect__osdep: mprotect failed: Permission denied
**
ERROR:../tcg/tcg.c:844:tcg_region_init: assertion failed: (!rc)
Bail out! ERROR:../tcg/tcg.c:844:tcg_region_init: assertion failed: (!rc)
[1] 34898 abort ./qemu-system-x86_64
```
I tested the same version of qemu on intel mac(MacOS 11.2), but it
works fine.
And my friend told me that they did not have this error with MacOS
11.1.
So, I think it is CPU architecture or an OS version dependent error.
Environment:
Qemu commit id: d0dddab40e472ba62b5f43f11cc7dba085dabe71
OS: MacOS 11.2(20D64)
Hardware: MacBook Air (M1, 2020)
How to build:
```
mkdir build/
cd build/
../configure --target-list=aarch64-softmmu,x86_64-softmmu
make
```
How to reproduce:
```
./qemu-system-x86_64
```
Error message:
```
$ ./qemu-system-x86_64
qemu-system-x86_64: qemu_mprotect__osdep: mprotect failed: Permission denied
**
ERROR:../tcg/tcg.c:844:tcg_region_init: assertion failed: (!rc)
Bail out! ERROR:../tcg/tcg.c:844:tcg_region_init: assertion failed: (!rc)
[1] 34898 abort ./qemu-system-x86_64
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914849/+subscriptions