Linux kernel 在PAGE_alloc.c中通过有效的_页面(第页)

Linux kernel 在PAGE_alloc.c中通过有效的_页面(第页),linux-kernel,macros,Linux Kernel,Macros,我在我的用户空间中伪造了一个struct页面,但我无法在内核中通过VALID\u页面检查。定义如下: #定义有效页面(页面)((页面-成员映射)

我在我的用户空间中伪造了一个
struct页面
,但我无法在内核中通过
VALID\u页面
检查。定义如下:

  • #定义有效页面(页面)((页面-成员映射)

这是什么意思?我不知道
page-mem\u-map
is和
max\u-mapnr
is。我的伪
页面如何通过此检查?

mem\u map是结构页面的全局数组,pfn是mem\u map数组中索引的键。。。。(page-mem_-map)将为您提供mem_-map数组中页面的索引。。。。max_mapnr看起来是mem_map中的有效索引。我希望它能回答您的问题。

您是否尝试过在内核代码中搜索变量及其用法?例如,定义似乎很清楚:
mem\u map
是一个页面数组,max\u mapnr-该数组中元素的最大数量。所以,
VALID\u页面
只检查页面是否属于给定的页面数组。顺便说一句,当谈论内核内部(函数、宏等)时,请始终指定内核版本。在谈论特定于arch的代码时(在
arch/
asm/
下),也要指定体系结构。感谢您的回复。是的,有帮助。你的答案还有其他参考资料吗?