accel/tcg/translate-all.c:2511: page_check_range: Assertion `start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS)' failed.
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| QEMU |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
qemu-riscv64 version 2.12.93 crashes when mincore() is called with invalid pointer with the following message:
qemu-riscv64: /opt/qemu/
qemu:handle_
Testcase:
#include <sys/mman.h>
int main (void)
{
unsigned char v;
return mincore ((void *) 0x0000001000000
}
Backtrace:
#0 raise (sig=sig@entry=6) at ../sysdeps/
#1 0x000000006000140a in abort () at abort.c:79
#2 0x00000000600012ec in __assert_fail_base (
fmt=0x6024eae8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=
file=0x601b9658 "/opt/qemu/
function=
#3 0x000000006010e10e in __assert_fail (
assertion=
function=
at assert.c:101
#4 0x000000006003e916 in page_check_range (start=
flags=
#5 0x0000000060057717 in access_ok (size=1, addr=1099511627776, type=0)
at /opt/qemu/
#6 lock_user (copy=0, len=1, guest_addr=
at /opt/qemu/
#7 do_syscall (cpu_env=
arg3=
at /opt/qemu/
#8 0x0000000060066c5c in cpu_loop (env=env@
at /opt/qemu/
#9 0x0000000060002156 in main (argc=<optimized out>, argv=0x7fffffff
envp=<optimized out>) at /opt/qemu/

Fixed by 0acd4ab849827bb c20402e01c9da08 8207c0d236 ("linux-user: check valid address in access_ok()"), fix released in v5.0.0.