From: Dave Hansen <haveblue@us.ibm.com>

__pa() is always be consistent inside of a single page.  The next thing
virt_to_page() does after that is shift down the address, killing the bits
that __change_page_attr() just masked off.  

Remove the superfluous masking.

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/mm/pageattr.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/i386/mm/pageattr.c~dont-align-virt_to_page-args arch/i386/mm/pageattr.c
--- 25/arch/i386/mm/pageattr.c~dont-align-virt_to_page-args	2004-08-23 23:07:43.425444472 -0700
+++ 25-akpm/arch/i386/mm/pageattr.c	2004-08-23 23:07:43.428444016 -0700
@@ -114,7 +114,7 @@ __change_page_attr(struct page *page, pg
 	kpte = lookup_address(address);
 	if (!kpte)
 		return -EINVAL;
-	kpte_page = virt_to_page(((unsigned long)kpte) & PAGE_MASK);
+	kpte_page = virt_to_page(kpte);
 	if (pgprot_val(prot) != pgprot_val(PAGE_KERNEL)) { 
 		if ((pte_val(*kpte) & _PAGE_PSE) == 0) { 
 			pte_t old = *kpte;
_