aboutsummaryrefslogtreecommitdiff
path: root/tcg/region.c
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2023-12-19 19:22:12 +0100
committerRichard Henderson <richard.henderson@linaro.org>2024-01-23 13:22:46 +1000
commit8f8419d3255365121e3596307b98ab3d6dcbdf1a (patch)
treed03540ce87fe1cc4062c8ebe58729e3e52fd491e /tcg/region.c
parent0e5e6219ed75f133a14d6bab39f6966540941864 (diff)
downloadqemu-8f8419d3255365121e3596307b98ab3d6dcbdf1a.zip
qemu-8f8419d3255365121e3596307b98ab3d6dcbdf1a.tar.gz
qemu-8f8419d3255365121e3596307b98ab3d6dcbdf1a.tar.bz2
tcg: Make the cleanup-on-error path unique
By calling `error_setg_errno()` before jumping to the cleanup-on-error path at the `fail` label, the cleanup path is clearer. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20231219182212.455952-3-sam@rfc1149.net> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/region.c')
-rw-r--r--tcg/region.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tcg/region.c b/tcg/region.c
index 467e51c..478ec05 100644
--- a/tcg/region.c
+++ b/tcg/region.c
@@ -584,7 +584,9 @@ static int alloc_code_gen_buffer_splitwx_memfd(size_t size, Error **errp)
buf_rx = mmap(NULL, size, host_prot_read_exec(), MAP_SHARED, fd, 0);
if (buf_rx == MAP_FAILED) {
- goto fail_rx;
+ error_setg_errno(errp, errno,
+ "failed to map shared memory for execute");
+ goto fail;
}
close(fd);
@@ -594,8 +596,6 @@ static int alloc_code_gen_buffer_splitwx_memfd(size_t size, Error **errp)
return PROT_READ | PROT_WRITE;
- fail_rx:
- error_setg_errno(errp, errno, "failed to map shared memory for execute");
fail:
/* buf_rx is always equal to MAP_FAILED here and does not require cleanup */
if (buf_rw) {