tcg: Fix returned type in alloc_code_gen_buffer_splitwx_memfd()

This fixes a bug in POSIX-compliant environments. Since we had allocated
a buffer named 'tcg-jit' with read-write access protections we need a int
type to combine these access flags and return it, whereas we had inexplicably
return a bool type. It may cause an unnecessary protection change in
tcg_region_init().

Cc: qemu-stable@nongnu.org
Fixes: 7be9ebcf92 ("tcg: Return the map protection from alloc_code_gen_buffer")
Signed-off-by: Shaobo Song <shnusongshaobo@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220624150216.3627-1-shnusongshaobo@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Shaobo Song 2022-06-24 23:02:17 +08:00 committed by Richard Henderson
parent 9fed1bca6b
commit ba8924113c

View File

@ -548,7 +548,7 @@ static int alloc_code_gen_buffer_anon(size_t size, int prot,
#ifdef CONFIG_POSIX #ifdef CONFIG_POSIX
#include "qemu/memfd.h" #include "qemu/memfd.h"
static bool alloc_code_gen_buffer_splitwx_memfd(size_t size, Error **errp) static int alloc_code_gen_buffer_splitwx_memfd(size_t size, Error **errp)
{ {
void *buf_rw = NULL, *buf_rx = MAP_FAILED; void *buf_rw = NULL, *buf_rx = MAP_FAILED;
int fd = -1; int fd = -1;