}
int sys_debug_setcontext(struct ucontext __user *ctx,
- int ndbg, struct sig_dbg_op *dbg,
+ int ndbg, struct sig_dbg_op __user *dbg,
int r6, int r7, int r8,
struct pt_regs *regs)
{
if (__put_user((unsigned long) ka->sa.sa_handler, &sc->handler)
|| __put_user(oldset->sig[0], &sc->oldmask)
|| __put_user(oldset->sig[1], &sc->_unused[3])
- || __put_user((struct pt_regs *)frame, &sc->regs)
+ || __put_user((struct pt_regs __user *)frame, &sc->regs)
|| __put_user(sig, &sc->signal))
goto badframe;
if (current->flags & PF_FREEZE) {
refrigerator(PF_FREEZE);
signr = 0;
- ret = regs->gpr[3];
if (!signal_pending(current))
goto no_signal;
}
newsp = frame = 0;
signr = get_signal_to_deliver(&info, &ka, regs, NULL);
-
+ no_signal:
if (TRAP(regs) == 0x0C00 /* System Call! */
&& regs->ccr & 0x10000000 /* error signalled */
&& ((ret = regs->gpr[3]) == ERESTARTSYS
regs->gpr[3] = EINTR;
/* note that the cr0.SO bit is already set */
} else {
-no_signal:
regs->nip -= 4; /* Back up & retry system call */
regs->result = 0;
regs->trap = 0;