|
From: | Peter Lieven |
Subject: | Re: [Qemu-devel] [PATCH 1/6] oslib-posix: add helpers for stack alloc and free |
Date: | Mon, 4 Jul 2016 08:16:33 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 |
Am 01.07.2016 um 22:12 schrieb Richard Henderson:
On 06/30/2016 12:37 AM, Peter Lieven wrote:+void *qemu_alloc_stack(size_t sz) +{ + /* allocate sz bytes plus one extra page for a guard + * page at the bottom of the stack */ + void *ptr = mmap(NULL, sz + getpagesize(), PROT_NONE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if (ptr == MAP_FAILED) { + abort(); + } + if (mmap(ptr + getpagesize(), sz, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0) == MAP_FAILED) { + abort(); + }Why two mmap instead of mmap + mprotect? r~
I was looking at qemu_ram_mmap too much. mprotect seems the cleaner solution. Thanks, Peter
[Prev in Thread] | Current Thread | [Next in Thread] |