|
@@ -569,12 +569,13 @@ void ptdump_walk_pgd_level_debugfs(struct seq_file *m, pgd_t *pgd, bool user)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(ptdump_walk_pgd_level_debugfs);
|
|
|
|
|
|
-static void ptdump_walk_user_pgd_level_checkwx(void)
|
|
|
+void ptdump_walk_user_pgd_level_checkwx(void)
|
|
|
{
|
|
|
#ifdef CONFIG_PAGE_TABLE_ISOLATION
|
|
|
pgd_t *pgd = INIT_PGD;
|
|
|
|
|
|
- if (!static_cpu_has(X86_FEATURE_PTI))
|
|
|
+ if (!(__supported_pte_mask & _PAGE_NX) ||
|
|
|
+ !static_cpu_has(X86_FEATURE_PTI))
|
|
|
return;
|
|
|
|
|
|
pr_info("x86/mm: Checking user space page tables\n");
|
|
@@ -586,7 +587,6 @@ static void ptdump_walk_user_pgd_level_checkwx(void)
|
|
|
void ptdump_walk_pgd_level_checkwx(void)
|
|
|
{
|
|
|
ptdump_walk_pgd_level_core(NULL, NULL, true, false);
|
|
|
- ptdump_walk_user_pgd_level_checkwx();
|
|
|
}
|
|
|
|
|
|
static int __init pt_dump_init(void)
|