Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6ba9b7d8f0fe786954015ce5c0ef1837d5df56b7
Commit:     6ba9b7d8f0fe786954015ce5c0ef1837d5df56b7
Parent:     aaa0e89023656c078c67cbd0460fc2ccbf3323c6
Author:     Andi Kleen <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 30 13:33:52 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 13:33:52 2008 +0100

    x86: fix c_p_a() boot crash
    
    fix:
    
    > hm, i just found a failing 64-bit .config while testing your CPA
    > patchset:
    >
    >  [    1.916541] CPA mapping 4k 0 large 2048 gb 0 x 0[0-0] miss 0
    >  [    1.919874] Unable to handle kernel paging request at 
000000000335aea8 RIP:
    >  [    1.919874]  [<ffffffff8021d2d3>] change_page_attr+0x3/0x61
    >  [    1.919874] PGD 0
    >  [    1.919874] Oops: 0000 [1]
    >  [    1.919874] CPU 0
    
    This handles addresses which don't have a mem_map entry.
    
    Signed-off-by: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
---
 arch/x86/mm/pageattr-test.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pageattr-test.c b/arch/x86/mm/pageattr-test.c
index c58fab0..91e05a2 100644
--- a/arch/x86/mm/pageattr-test.c
+++ b/arch/x86/mm/pageattr-test.c
@@ -177,7 +177,7 @@ static __init int exercise_pageattr(void)
                        continue;
                }
 
-               err = change_page_attr(virt_to_page(addr[i]), len[i],
+               err = change_page_attr_addr(addr[i], len[i],
                            pte_pgprot(pte_clrhuge(pte_clrglobal(pte0))));
                if (err < 0) {
                        printk(KERN_ERR "CPA %d failed %d\n", i, err);
@@ -212,7 +212,7 @@ static __init int exercise_pageattr(void)
                        failed++;
                        continue;
                }
-               err = change_page_attr(virt_to_page(addr[i]), len[i],
+               err = change_page_attr_addr(addr[i], len[i],
                                          pte_pgprot(pte_mkglobal(*pte)));
                if (err < 0) {
                        printk(KERN_ERR "CPA reverting failed: %d\n", err);
-
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