aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/mm/pageattr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 7b4a17236972..b8f53233151d 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -669,7 +669,7 @@ static int change_page_attr_set_clr(unsigned long addr, int numpages,
669 pgprot_t mask_set, pgprot_t mask_clr) 669 pgprot_t mask_set, pgprot_t mask_clr)
670{ 670{
671 struct cpa_data cpa; 671 struct cpa_data cpa;
672 int ret, cache; 672 int ret, cache, checkalias;
673 673
674 /* 674 /*
675 * Check, if we are requested to change a not supported 675 * Check, if we are requested to change a not supported
@@ -695,7 +695,10 @@ static int change_page_attr_set_clr(unsigned long addr, int numpages,
695 cpa.mask_clr = mask_clr; 695 cpa.mask_clr = mask_clr;
696 cpa.flushtlb = 0; 696 cpa.flushtlb = 0;
697 697
698 ret = __change_page_attr_set_clr(&cpa, 1); 698 /* No alias checking for _NX bit modifications */
699 checkalias = (pgprot_val(mask_set) | pgprot_val(mask_clr)) != _PAGE_NX;
700
701 ret = __change_page_attr_set_clr(&cpa, checkalias);
699 702
700 /* 703 /*
701 * Check whether we really changed something: 704 * Check whether we really changed something: