summary refs log tree commit diff stats
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
parent0e5e6219ed75f133a14d6bab39f6966540941864 (diff)
downloadfocaccia-qemu-8f8419d3255365121e3596307b98ab3d6dcbdf1a.tar.gz
focaccia-qemu-8f8419d3255365121e3596307b98ab3d6dcbdf1a.zip
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>
-rw-r--r--tcg/region.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tcg/region.c b/tcg/region.c
index 467e51cf6f..478ec051c4 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) {