From: Al Viro cris KSTK_EIP looked for pt_regs at the right offset but from the wrong place - forgotten ->thread_info Signed-off-by: Al Viro Signed-off-by: Andrew Morton --- include/asm-cris/arch-v10/processor.h | 2 +- include/asm-cris/arch-v32/processor.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff -puN include/asm-cris/arch-v10/processor.h~cris-fix-kstk_eip include/asm-cris/arch-v10/processor.h --- devel/include/asm-cris/arch-v10/processor.h~cris-fix-kstk_eip 2006-01-04 22:02:59.000000000 -0800 +++ devel-akpm/include/asm-cris/arch-v10/processor.h 2006-01-04 22:02:59.000000000 -0800 @@ -40,7 +40,7 @@ struct thread_struct { #define KSTK_EIP(tsk) \ ({ \ unsigned long eip = 0; \ - unsigned long regs = (unsigned long)user_regs(tsk); \ + unsigned long regs = (unsigned long)task_pt_regs(tsk); \ if (regs > PAGE_SIZE && \ virt_addr_valid(regs)) \ eip = ((struct pt_regs *)regs)->irp; \ diff -puN include/asm-cris/arch-v32/processor.h~cris-fix-kstk_eip include/asm-cris/arch-v32/processor.h --- devel/include/asm-cris/arch-v32/processor.h~cris-fix-kstk_eip 2006-01-04 22:02:59.000000000 -0800 +++ devel-akpm/include/asm-cris/arch-v32/processor.h 2006-01-04 22:02:59.000000000 -0800 @@ -36,7 +36,7 @@ struct thread_struct { #define KSTK_EIP(tsk) \ ({ \ unsigned long eip = 0; \ - unsigned long regs = (unsigned long)user_regs(tsk); \ + unsigned long regs = (unsigned long)task_pt_regs(tsk); \ if (regs > PAGE_SIZE && virt_addr_valid(regs)) \ eip = ((struct pt_regs *)regs)->erp; \ eip; \ _