Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af96e4438a4b34a257f5318a296e0b9e182e7ab9
Commit:     af96e4438a4b34a257f5318a296e0b9e182e7ab9
Parent:     31eedd823c1bf3650c450346a0d0c39431034eb9
Author:     Thomas Gleixner <[EMAIL PROTECTED]>
AuthorDate: Fri Feb 15 21:49:46 2008 +0100
Committer:  Thomas Gleixner <[EMAIL PROTECTED]>
CommitDate: Mon Feb 18 20:54:14 2008 +0100

    x86: CPA no alias checking for _NX
    
    NX settings are not required to be consistent across alias mappings.
    
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 arch/x86/mm/pageattr.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 7b4a172..b8f5323 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,
                                    pgprot_t mask_set, pgprot_t mask_clr)
 {
        struct cpa_data cpa;
-       int ret, cache;
+       int ret, cache, checkalias;
 
        /*
         * 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,
        cpa.mask_clr = mask_clr;
        cpa.flushtlb = 0;
 
-       ret = __change_page_attr_set_clr(&cpa, 1);
+       /* No alias checking for _NX bit modifications */
+       checkalias = (pgprot_val(mask_set) | pgprot_val(mask_clr)) != _PAGE_NX;
+
+       ret = __change_page_attr_set_clr(&cpa, checkalias);
 
        /*
         * Check whether we really changed something:
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to