tests/tcg: Extend file in linux-madvise.c
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 2 Jan 2024 01:58:00 +0000 (12:58 +1100)
committerRichard Henderson <richard.henderson@linaro.org>
Thu, 29 Feb 2024 21:35:37 +0000 (11:35 -1000)
When guest page size > host page size, this test can fail
due to the SIGBUS protection hack.  Avoid this by making
sure that the file size is at least one guest page.

Visible with alpha guest on x86_64 host.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-26-richard.henderson@linaro.org>

tests/tcg/multiarch/linux/linux-madvise.c

index 29d0997e687c16bc45e64d5fea3daf5a964a9b14..539fb3b7726991ea9d7371f76a070f84f86a9ba6 100644 (file)
@@ -42,6 +42,8 @@ static void test_file(void)
     assert(ret == 0);
     written = write(fd, &c, sizeof(c));
     assert(written == sizeof(c));
+    ret = ftruncate(fd, pagesize);
+    assert(ret == 0);
     page = mmap(NULL, pagesize, PROT_READ, MAP_PRIVATE, fd, 0);
     assert(page != MAP_FAILED);