From c6c1a8167b24fb2fabd75c801b67cb838a7c416d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 30 Jan 2008 13:34:07 +0100 Subject: [PATCH] --- yaml --- r: 80533 b: refs/heads/master c: 4692a1450b4d1000a942022b088c8791749dd65e h: refs/heads/master i: 80531: 122f862eff5ac6cdeb778bafd1be3f8b1fc4771a v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/pageattr.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index b292c215d915..72fe44c2e415 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a72a08a4b61cb8868606a69b744848552e92062b +refs/heads/master: 4692a1450b4d1000a942022b088c8791749dd65e diff --git a/trunk/arch/x86/mm/pageattr.c b/trunk/arch/x86/mm/pageattr.c index a2ee317548f2..5cfc0d4ade56 100644 --- a/trunk/arch/x86/mm/pageattr.c +++ b/trunk/arch/x86/mm/pageattr.c @@ -304,7 +304,7 @@ static int change_page_attr_addr(unsigned long address, pgprot_t prot) static int change_page_attr_set(unsigned long addr, int numpages, pgprot_t prot) { - pgprot_t current_prot; + pgprot_t current_prot, new_prot; int level; pte_t *pte; int i, ret; @@ -317,9 +317,10 @@ static int change_page_attr_set(unsigned long addr, int numpages, else pgprot_val(current_prot) = 0; - pgprot_val(prot) = pgprot_val(current_prot) | pgprot_val(prot); + pgprot_val(new_prot) = + pgprot_val(current_prot) | pgprot_val(prot); - ret = change_page_attr_addr(addr, prot); + ret = change_page_attr_addr(addr, new_prot); if (ret) return ret; addr += PAGE_SIZE; @@ -349,7 +350,7 @@ static int change_page_attr_set(unsigned long addr, int numpages, static int change_page_attr_clear(unsigned long addr, int numpages, pgprot_t prot) { - pgprot_t current_prot; + pgprot_t current_prot, new_prot; int level; pte_t *pte; int i, ret; @@ -361,10 +362,10 @@ static int change_page_attr_clear(unsigned long addr, int numpages, else pgprot_val(current_prot) = 0; - pgprot_val(prot) = + pgprot_val(new_prot) = pgprot_val(current_prot) & ~pgprot_val(prot); - ret = change_page_attr_addr(addr, prot); + ret = change_page_attr_addr(addr, new_prot); if (ret) return ret; addr += PAGE_SIZE;