Re: bug disabling NX (noexec=off)

From: Thomas Gleixner
Date: Sun Apr 14 2019 - 06:00:34 EST


On Sat, 13 Apr 2019, Xose Vazquez Perez wrote:
> [ 0.000000] NX (Execute Disable) protection: disabled by kernel command line option
> [ 0.000000] ------------[ cut here ]------------
> [ 0.000000] attempted to set unsupported pgprot: 8000000000000163 bits: 8000000000000000 supported: 7fffffffffffffff

Does the below patch fix it for you?

Thanks,

tglx

8<----------------
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 0029604af8a4..dd73d5d74393 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -825,7 +825,7 @@ void __init __early_set_fixmap(enum fixed_addresses idx,
pte = early_ioremap_pte(addr);

/* Sanitize 'prot' against any unsupported bits: */
- pgprot_val(flags) &= __default_kernel_pte_mask;
+ pgprot_val(flags) &= __supported_pte_mask;

if (pgprot_val(flags))
set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, flags));