Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06f862c8ce0893b5525ce90f39168eaf4608ecc6
Commit:     06f862c8ce0893b5525ce90f39168eaf4608ecc6
Parent:     56c74c733cdd101832c4bbf9af8a009a9eaec784
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Wed Aug 1 16:39:51 2007 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Wed Aug 1 16:39:51 2007 +0900

    sh: Fix pgd mismatch from cached TTB in unhandled fault.
    
    When reading the cached TTB value and extracting the pgd, we
    accidentally applied a __va() to it and bumped it off in to bogus
    space which ended up causing multiple faults in the error path.
    
    Fix it up so unhandled faults don't do strange and highly unorthodox
    things when oopsing.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh/mm/fault.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index 964c676..04a39aa 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -184,8 +184,7 @@ no_context:
                printk(KERN_ALERT "pc = %08lx\n", regs->pc);
                page = (unsigned long)get_TTB();
                if (page) {
-                       page = ((__typeof__(page) *) __va(page))[address >>
-                                                                PGDIR_SHIFT];
+                       page = ((__typeof__(page) *)page)[address >> 
PGDIR_SHIFT];
                        printk(KERN_ALERT "*pde = %08lx\n", page);
                        if (page & _PAGE_PRESENT) {
                                page &= PAGE_MASK;
-
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