diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-09-04 12:11:45 +0200 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-09-23 16:17:59 -0700 |
| commit | 2c75137623cb60f2ac3cedfff077d00dc977b842 (patch) | |
| tree | 6796a951f8ca909f7945670013fe128682c779e0 /linux-user | |
| parent | b9baf09512756943ced419aa5ec71bf435681e09 (diff) | |
| download | focaccia-qemu-2c75137623cb60f2ac3cedfff077d00dc977b842.tar.gz focaccia-qemu-2c75137623cb60f2ac3cedfff077d00dc977b842.zip | |
linux-user: Populate vdso_sigreturn_region_{start,end} from sigtramp page
When a target does not support a vdso, we generate a sigtramp page. The only thing on this page is a (set of) signal return syscalls. We do not need to narrowly restrict the vdso_sigreturn_region; simply record the entire page for all such targets. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user')
| -rw-r--r-- | linux-user/elfload.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 28f0909d1a..1370ec59be 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1974,6 +1974,8 @@ int load_elf_binary(struct linux_binprm *bprm, struct image_info *info) setup_sigtramp(tramp_page); target_mprotect(tramp_page, TARGET_PAGE_SIZE, PROT_READ | PROT_EXEC); + vdso_sigreturn_region_start = tramp_page; + vdso_sigreturn_region_end = tramp_page + TARGET_PAGE_SIZE; } bprm->p = create_elf_tables(bprm->p, bprm->argc, bprm->envc, &ehdr, info, |