FYI, this is a sample strace of devmem in a standard Linux:

root@dev:/home/hugo/seL4/utilidades_sel4webserver# strace devmem2
7ffc8402e000
execve("/usr/bin/devmem2", ["devmem2", "7ffc8402e000"], 0x7ffc8a099a68 /*
21 vars */) = 0
(...)
write(1, "/dev/mem opened.\n", 17/dev/mem opened.
)      = 17
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x7f161b205000
write(1, "Memory mapped at address 0x7f161"..., 41Memory mapped at address
0x7f161b205000.
) = 41
write(1, "Value at address 0x7 (0x7f161b20"..., 48Value at address 0x7
(0x7f161b205007): 0x60E0F0
) = 48
munmap(0x7f161b205000, 4096)            = 0
close(3)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++
root@dev:/home/hugo/seL4/utilidades_sel4webserver#




El mié, 30 jun 2021 a las 19:33, Hugo V.C. (<skydive...@gmail.com>)
escribió:

> Hi,
>
> my seL4 Linux VM box just crashed when trying to access a memory address.
> Basically I simply wanted to use "devmem" tool to just print the content of
> a specific address in memory and looked like seL4 was unable to handle the
> guest OS mmap() correctly. Below the console log:
>
> # ls /proc/283/maps
> /proc/283/maps
> # cat /proc/283/maps
> 00400000-00532000 r-xp 00000000 00:02 6023
> /bin/lighttpd
> 00541000-00543000 r--p 00131000 00:02 6023
> /bin/lighttpd
> 00543000-00546000 rw-p 00133000 00:02 6023
> /bin/lighttpd
> 00546000-0054d000 rw-p 00000000 00:00 0
> 0bd0b000-0bd2d000 rw-p 00000000 00:00 0
>  [heap]
> 0bd2d000-0bd91000 rw-p 00000000 00:00 0
>  [heap]
> ffff82084000-ffff82085000 r--p 00000000 00:00 0
>  [vvar]
> ffff82085000-ffff82086000 r-xp 00000000 00:00 0
>  [vdso]
> ffffe6c58000-ffffe6c79000 rw-p 00000000 00:00 0
>  [stack]
>
> # devmem 0xffffe6c58000 8
> _utspace_split_alloc@split.c:266 Failed to find any untyped capable of
> creating an object at address 0xffffe6c58000
> map_page@mapping.c:68 Failed to map page at address 0xffffe6c58000 with
> cap 396187, error: 1
> sel4utils_map_page_pd@vspace.c:153 Error mapping pages, bailing: 1
> map_vm_memory_reservation@guest_memory.c:477 Failed to map address
> 0xe6c58000 into guest vm vspace
> vm_map_reservation@guest_memory.c:510 Failed to map vm reservation: Error
> when mapping into VM's vspace
> --------
> Pagefault from [Linux]: read fault @ PC: 0x414c38 IPA: 0xffffe6c58000,
> FSR: 0x93020004
> Context:
> x0: 0xffff9cfe6000
> x1: 0x0
> x2: 0x0
> x3: 0x1
> x4: 0x3
> x5: 0xffffe6c58000
> x6: 0x5
> x7: 0x20
> x8: 0xde
> x9: 0xffffe539cf54
> x10: 0xffff9cfe8050
> x11: 0x1
> x12: 0x436
> pc: 0x414c38
> x14: 0xffffffff
> sp: 0xffffe539bb70
> spsr: 0x60000000
> x13: 0x1
> x15: 0x3
> x16: 0xffff9cf486c8
> x17: 0x4c3870
> x18: 0x0
> x19: 0x8
> x20: 0x0
> x21: 0x4c3000
> x22: 0xffffe539bd98
> x23: 0xffffe6c58000
> x24: 0x0
> x25: 0x0
> x26: 0x0
> x27: 0x0
> x28: 0x0
> x29: 0xffffe539bc60
> x30: 0x414bac
> m--------
> main_continued@main.c:1134 Failed to run VM
> Halting...
>
> My three concerns here are:
>
> 1)  Why this guest mmap() is crashing the VM? Memory address is valid
> (just guest user space process stack).
> 2) Is it possible to have some kind of "dump and reboot VM" when a VM
> and/or guest OS crashes?
> 3) Are there any plans to formally verify the seL4's VM camkes code?
>
> Thank you!
>
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to