linux-user: fix tcg/mmap test

tests/tcg/mmap test fails with values other than default target page
size. When creating a map beyond EOF, extra anonymous pages are added up
to the target page boundary. Currently, this operation is performed only
when qemu_real_host_page_size < TARGET_PAGE_SIZE, but it should be
performed if the configured page size (qemu -p) is larger than
qemu_real_host_page_size too.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
[pranith: dropped checkpatch changes]
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20170119151533.29328-2-bobby.prani@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Marc-André Lureau 2017-01-19 10:15:33 -05:00 committed by Laurent Vivier
parent 40c80b5e9e
commit 35f2fd04ce
1 changed files with 3 additions and 3 deletions

View File

@ -426,8 +426,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
may need to truncate file maps at EOF and add extra anonymous pages may need to truncate file maps at EOF and add extra anonymous pages
up to the targets page boundary. */ up to the targets page boundary. */
if ((qemu_real_host_page_size < TARGET_PAGE_SIZE) if ((qemu_real_host_page_size < qemu_host_page_size) &&
&& !(flags & MAP_ANONYMOUS)) { !(flags & MAP_ANONYMOUS)) {
struct stat sb; struct stat sb;
if (fstat (fd, &sb) == -1) if (fstat (fd, &sb) == -1)