CONFIG_CPU_SW_DOMAIN_PAN 是ARM32(非LPAE)内核的布尔配置项,用CPU域实现PAN(Privileged Access Never),阻止内核态直接访问用户态地址,提升安全性。
核心信息
-
适用:arch/arm/Kconfig,依赖 CONFIG_MMU && !CONFIG_ARM_LPAE ,内核4.3+可用
-
功能:内核常规访问无法触及用户态地址;低向量映射CPU的前1MB因向量表需保留可访问,其余用户空间会被隔离
-
价值:可抑制UAF等漏洞被用于提权,如LIST_POISON这类值被内核解引用时会触发缺页错误
-
关闭影响:内核可直接访问用户态地址,安全性大幅降低,仅适合调试场景
相关对照
-
ARM64对应:CONFIG_ARM64_SW_TTBR0_PAN(通过切换TTBR0实现PAN)
-
依赖提示:启用需关闭ARM_LPAE;若用LPAE,该选项不可用