diff -urpN -xCVS -x'*~' -x'*.info*' -x'*.[17]' -xTAGS linux-2.4-20030219-signals-orig/arch/ppc64/kernel/signal32.c linux-2.4-20030219-signals/arch/ppc64/kernel/signal32.c --- linux-2.4-20030219-signals-orig/arch/ppc64/kernel/signal32.c 2002-10-10 22:39:23.000000000 -0500 +++ linux-2.4-20030219-signals/arch/ppc64/kernel/signal32.c 2003-02-19 12:45:32.000000000 -0600 @@ -402,29 +402,11 @@ setup_frame32(struct pt_regs *regs, stru * Note the +1 is needed in order to get the lower 32 bits * of 64 bit register */ - for (i = 0; i < 32; i++) { + for (i = 0; i < sizeof(struct pt_regs32)/sizeof(u32); i++) { if (__copy_to_user(&frame->gp_regs[i], (u32*)(®s->gpr[i])+1, sizeof(u32))) goto badframe; } - /* - * Copy the non gpr registers to the user stack - */ - if (__copy_to_user(&frame->gp_regs[PT_NIP], (u32*)(®s->gpr[PT_NIP])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_MSR], (u32*)(®s->gpr[PT_MSR])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_ORIG_R3], (u32*)(®s->gpr[PT_ORIG_R3])+1, - sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_CTR], (u32*)(®s->gpr[PT_CTR])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_LNK], (u32*)(®s->gpr[PT_LNK])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_XER], (u32*)(®s->gpr[PT_XER])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_CCR], (u32*)(®s->gpr[PT_CCR])+1, sizeof(u32)) -# if 0 - || __copy_to_user(&frame->gp_regs[PT_MQ], (u32*)(®s->gpr[PT_MQ])+1, sizeof(u32)) -#endif - || __copy_to_user(&frame->gp_regs[PT_RESULT], (u32*)(®s->gpr[PT_RESULT])+1, - sizeof(u32))) - goto badframe; - /* * Now copy the floating point registers onto the user stack * @@ -1008,26 +990,11 @@ setup_rt_frame32(struct pt_regs *regs, s * Note the +1 is needed in order to get the lower 32 bits * of 64 bit register */ - for (i = 0; i < 32; i++) { + for (i = 0; i < sizeof(struct pt_regs32)/sizeof(u32); i++) { if (__copy_to_user(&frame->gp_regs[i], (u32*)(®s->gpr[i])+1, sizeof(u32))) goto badframe; } - /* - * Copy the non gpr registers to the user stack - */ - if (__copy_to_user(&frame->gp_regs[PT_NIP], (u32*)(®s->gpr[PT_NIP])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_MSR], (u32*)(®s->gpr[PT_MSR])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_ORIG_R3], (u32*)(®s->gpr[PT_ORIG_R3])+1, - sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_CTR], (u32*)(®s->gpr[PT_CTR])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_LNK], (u32*)(®s->gpr[PT_LNK])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_XER], (u32*)(®s->gpr[PT_XER])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_CCR], (u32*)(®s->gpr[PT_CCR])+1, sizeof(u32)) - || __copy_to_user(&frame->gp_regs[PT_RESULT], (u32*)(®s->gpr[PT_RESULT])+1, - sizeof(u32))) - goto badframe; - /* * Now copy the floating point registers onto the user stack