我正在尝试使用 linux-kernel 中提供的 mamp() 功能。当我们在用户空间调用 mmap() 时,我们尝试将用户空间进程的虚拟内存区域映射到内核空间中的内存。
内核中 mamp() 的定义是在我的内核模块中完成的,它尝试在页面中分配一些内存并在 mmap 系统调用期间映射它。这个内核空间内存的内存内容可以被这个模块填充。
我想问的问题是,在内存映射之后,用户空间进程可以直接访问映射的内存而无需任何额外的内核过载,因此不会有像 read() 这样的系统调用,但是如果内存(分配在内核内部- space & mapped in the kernel-space) 包含指向在内核空间内分配的其他内存(未映射)的指针,那么用户空间进程能否借助映射内存的内容(指针)访问这个未映射的内存到这个未映射的内存。