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>
This commit is contained in:
@@ -793,6 +793,12 @@ int main(int argc, char **argv, char **envp)
|
|||||||
*/
|
*/
|
||||||
max_reserved_va = MAX_RESERVED_VA(cpu);
|
max_reserved_va = MAX_RESERVED_VA(cpu);
|
||||||
if (reserved_va != 0) {
|
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) {
|
if (max_reserved_va && reserved_va > max_reserved_va) {
|
||||||
fprintf(stderr, "Reserved virtual address too big\n");
|
fprintf(stderr, "Reserved virtual address too big\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
Reference in New Issue
Block a user