diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2023-03-06 20:38:30 -0800 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-03-28 15:23:10 -0700 |
commit | 2f7828b5729337c61e6c58466d0d78af079db42d (patch) | |
tree | fe0d521b02aa970920afc68883141de5ccb3bb00 | |
parent | 1ff4a81bd3efb207992f1da267886fe0c4df764f (diff) | |
download | qemu-2f7828b5729337c61e6c58466d0d78af079db42d.zip qemu-2f7828b5729337c61e6c58466d0d78af079db42d.tar.gz qemu-2f7828b5729337c61e6c58466d0d78af079db42d.tar.bz2 |
linux-user: Diagnose misaligned -R size
We have been enforcing host page alignment for the non-R
fallback of MAX_RESERVED_VA, but failing to enforce for -R.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | linux-user/main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/main.c b/linux-user/main.c index 4b18461..39d9bd4 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -793,6 +793,12 @@ int main(int argc, char **argv, char **envp) */ max_reserved_va = MAX_RESERVED_VA(cpu); if (reserved_va != 0) { + if (reserved_va % qemu_host_page_size) { + char *s = size_to_str(qemu_host_page_size); + fprintf(stderr, "Reserved virtual address not aligned mod %s\n", s); + g_free(s); + exit(EXIT_FAILURE); + } if (max_reserved_va && reserved_va > max_reserved_va) { fprintf(stderr, "Reserved virtual address too big\n"); exit(EXIT_FAILURE); |