在 page_alloc.c 中传递 VALID_PAGE(页)
pass VALID_PAGE(page) in page_alloc.c
我在我的用户space中伪造了一个struct page
进入内核,但我无法通过内核中的VALID_PAGE
检查。它是这样定义的:
#define VALID_PAGE(page) ((page - mem_map) < max_mapnr)
这是什么意思?我不知道 page - mem_map
和 max_mapnr
是。我的假page
怎么能通过这个检查呢?
mem_map 是 struct page 的全局数组,pfn 是 mem_map 数组中索引的键.... (page - mem_map) 会给你索引mem_map 数组中的页面.... max_mapnr 看起来是 mem_map 中的有效索引。我希望它能回答你的问题。
我在我的用户space中伪造了一个struct page
进入内核,但我无法通过内核中的VALID_PAGE
检查。它是这样定义的:
#define VALID_PAGE(page) ((page - mem_map) < max_mapnr)
这是什么意思?我不知道 page - mem_map
和 max_mapnr
是。我的假page
怎么能通过这个检查呢?
mem_map 是 struct page 的全局数组,pfn 是 mem_map 数组中索引的键.... (page - mem_map) 会给你索引mem_map 数组中的页面.... max_mapnr 看起来是 mem_map 中的有效索引。我希望它能回答你的问题。