Browse Source

tests/tcg/multiarch/test-mmap: Check mmaps beyond reserved_va

Unfixed mmap calls where start > reserved_va or the max guest addr
should have a valid result.

Signed-off-by: Bingwu Zhang <xtex@astrafall.org>
Signed-off-by: Helge Deller <deller@gmx.de>
master^2
Bingwu Zhang 1 month ago
committed by Helge Deller
parent
commit
c865b6bce5
  1. 15
      tests/tcg/multiarch/test-mmap.c

15
tests/tcg/multiarch/test-mmap.c

@ -497,6 +497,20 @@ void check_shrink_mmaps(void)
fprintf(stdout, " passed\n");
}
void check_mmaps_beyond_addr_space(void)
{
unsigned char *addr;
addr = mmap((void *)(-(unsigned long)pagesize * 10), pagesize * 2,
PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
fprintf(stdout, "%s addr=%p errno=%d", __func__, (void *)addr, errno);
fail_unless(addr != MAP_FAILED);
memcpy(dummybuf, addr, 2 * pagesize);
munmap(addr, 2 * pagesize);
fprintf(stdout, " passed\n");
}
int main(int argc, char **argv)
{
char tempname[] = "/tmp/.cmmapXXXXXX";
@ -540,6 +554,7 @@ int main(int argc, char **argv)
check_file_unfixed_eof_mmaps();
check_invalid_mmaps();
check_shrink_mmaps();
check_mmaps_beyond_addr_space();
/* Fails at the moment. */
/* check_aligned_anonymous_fixed_mmaps_collide_with_host(); */

Loading…
Cancel
Save