Mapping VM Kernel Memory
Hello everyone, I have a question about some code I'm using from the seL4 repositories. I have a follow-up question about whether a certain memory mapping strategy is feasible. I'm looking at this kernel module: https://github.com/seL4/camkes-vm-linux/blob/master/camkes-linux-artifacts/c... and at this user-space app: https://github.com/seL4/camkes-vm-linux/blob/master/camkes-linux-artifacts/c... In short, there is shared memory between a camkes component and the vm-linux. I can tell that the shared memory region is given by accessing /dev/uio0. However, it's not clear to me what exactly this memory region is. As I simulate the kernel, I find this: [ 0.000000] Virtual kernel memory layout: [ 0.000000] modules : 0xffff000000000000 - 0xffff000008000000 ( 128 MB) [ 0.000000] vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000 (129022 GB) [ 0.000000] .text : 0xffff000008080000 - 0xffff0000087d0000 ( 7488 KB) [ 0.000000] .rodata : 0xffff0000087d0000 - 0xffff000008a50000 ( 2560 KB) [ 0.000000] .init : 0xffff000008a50000 - 0xffff000008e00000 ( 3776 KB) [ 0.000000] .data : 0xffff000008e00000 - 0xffff000008f31200 ( 1221 KB) [ 0.000000] .bss : 0xffff000008f31200 - 0xffff000008fb9034 ( 544 KB) [ 0.000000] fixed : 0xffff7dfffe7fb000 - 0xffff7dfffec00000 ( 4116 KB) [ 0.000000] PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000 ( 16 MB) [ 0.000000] vmemmap : 0xffff7e0000000000 - 0xffff800000000000 ( 2048 GB maximum) [ 0.000000] 0xffff7e0000000000 - 0xffff7e0000200040 ( 2 MB actual) [ 0.000000] memory : 0xffff800000000000 - 0xffff800008001000 ( 128 MB) My belief is that /dev/uio0 points to the section here labeled "memory." Is that right? My goal is to perform memory introspection on vm-linux kernel modules. To that end, I think I want to look at the section labeled "modules." Is that possible? Best, Michael Neises
participants (1)
-
Michael Neises