diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:34:02 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:34:02 +0100 |
commit | 0d82494ebd256bfff2336689271367f9284b4865 (patch) | |
tree | d01e3f50db4b5996c8ea3cdd02dd67d98f33311d /arch/x86/mm/pageattr_64.c | |
parent | 34eff1d75b26eac5c04f9c5b52ba9e3bf1dd8877 (diff) |
x86: change 64-bit __change_page_attr() to struct page
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/mm/pageattr_64.c')
-rw-r--r-- | arch/x86/mm/pageattr_64.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/mm/pageattr_64.c b/arch/x86/mm/pageattr_64.c index 5eff244c16d..5a03fb5fd53 100644 --- a/arch/x86/mm/pageattr_64.c +++ b/arch/x86/mm/pageattr_64.c @@ -67,7 +67,7 @@ split_large_page(unsigned long address, pgprot_t ref_prot) } static int -__change_page_attr(unsigned long address, unsigned long pfn, pgprot_t prot) +__change_page_attr(unsigned long address, struct page *page, pgprot_t prot) { struct page *kpte_page; pte_t *kpte; @@ -86,7 +86,7 @@ repeat: prot = canon_pgprot(prot); if (level == 4) { - set_pte(kpte, pfn_pte(pfn, prot)); + set_pte(kpte, mk_pte(page, prot)); } else { /* * split_large_page will take the reference for this @@ -135,7 +135,7 @@ int change_page_attr_addr(unsigned long address, int numpages, pgprot_t prot) unsigned long pfn = __pa(address) >> PAGE_SHIFT; if (!kernel_map || pte_present(pfn_pte(0, prot))) { - err = __change_page_attr(address, pfn, prot); + err = __change_page_attr(address, pfn_to_page(pfn), prot); if (err) break; } @@ -148,7 +148,7 @@ int change_page_attr_addr(unsigned long address, int numpages, pgprot_t prot) addr2 = __START_KERNEL_map + __pa(address); /* Make sure the kernel mappings stay executable */ prot2 = pte_pgprot(pte_mkexec(pfn_pte(0, prot))); - err = __change_page_attr(addr2, pfn, prot2); + err = __change_page_attr(addr2, pfn_to_page(pfn), prot2); } } up_write(&init_mm.mmap_sem); |