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>
This commit is contained in:
Richard Henderson
2025-09-04 12:11:45 +02:00
parent b9baf09512
commit 2c75137623

View File

@@ -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,