From: Ingo Molnar <mingo@elte.hu>
Date: Wed, 30 Jan 2008 12:34:07 +0000 (+0100)
Subject: x86: cpa: fix loop
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4692a1450b4d1000a942022b088c8791749dd65e;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

x86: cpa: fix loop

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---

diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index a2ee317548f2..5cfc0d4ade56 100644
--- a/arch/x86/mm/pageattr.c
+++ b/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;