Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
[powerpc.git] / arch / sparc64 / kernel / traps.c
index eeb1e83..8d44ae5 100644 (file)
@@ -1333,6 +1333,9 @@ static int cheetah_check_main_memory(unsigned long paddr)
 {
        unsigned long vaddr = PAGE_OFFSET + paddr;
 
+       if (vaddr > (unsigned long) high_memory)
+               return 0;
+
        return kern_addr_valid(vaddr);
 }
 
@@ -1805,7 +1808,7 @@ static void user_instruction_dump (unsigned int __user *pc)
 void show_stack(struct task_struct *tsk, unsigned long *_ksp)
 {
        unsigned long pc, fp, thread_base, ksp;
-       struct thread_info *tp = tsk->thread_info;
+       void *tp = task_stack_page(tsk);
        struct reg_window *rw;
        int count = 0;
 
@@ -1859,7 +1862,7 @@ static inline int is_kernel_stack(struct task_struct *task,
                        return 0;
        }
 
-       thread_base = (unsigned long) task->thread_info;
+       thread_base = (unsigned long) task_stack_page(task);
        thread_end = thread_base + sizeof(union thread_union);
        if (rw_addr >= thread_base &&
            rw_addr < thread_end &&