0x64412074656e726d is definitely not a valid virtual address on x86.
Currently, this fails silently, as the virt_to_phys() maps this address to the address 26d.
This is partly fixed in https://github.com/hermit-os/uhyve/pull/527, where this access returns an error to gdbstub.
However, I'm still not sure why this address is accessed at all?
When I run
cargo test gdb
on the main branch and add a print to theread_addrs
function, https://github.com/hermit-os/uhyve/blob/dc6b01e1294f610af309be44cbdb91c9e623b944/src/linux/gdb/mod.rs#L121 I get the following reads:0x64412074656e726d
is definitely not a valid virtual address on x86. Currently, this fails silently, as thevirt_to_phys()
maps this address to the address26d
.-> We should check, whether this is valid memory and return an Error if not (
read_addr
API as reference: https://docs.rs/gdbstub/latest/gdbstub/target/ext/base/singlethread/trait.SingleThreadBase.html#tymethod.read_addrs)