From: "Andi Kleen" Fix formatting and white space in signal code No functional changes. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton --- 25-akpm/arch/x86_64/ia32/ia32_signal.c | 38 +++++++++++++++++---------------- 25-akpm/arch/x86_64/kernel/signal.c | 37 +++++++++++++------------------- 2 files changed, 36 insertions(+), 39 deletions(-) diff -puN arch/x86_64/ia32/ia32_signal.c~x86_64-fix-formatting-and-white-space-in-signal-code arch/x86_64/ia32/ia32_signal.c --- 25/arch/x86_64/ia32/ia32_signal.c~x86_64-fix-formatting-and-white-space-in-signal-code Wed Mar 23 15:38:49 2005 +++ 25-akpm/arch/x86_64/ia32/ia32_signal.c Wed Mar 23 15:38:49 2005 @@ -49,12 +49,12 @@ int copy_siginfo_to_user32(compat_siginf return -EFAULT; /* If you change siginfo_t structure, please make sure that - this code is fixed accordingly. - It should never copy any pad contained in the structure - to avoid security leaks, but must copy the generic - 3 ints plus the relevant union member. */ - err = __put_user(from->si_signo, &to->si_signo); - err |= __put_user(from->si_errno, &to->si_errno); + this code is fixed accordingly. + It should never copy any pad contained in the structure + to avoid security leaks, but must copy the generic + 3 ints plus the relevant union member. */ + err = __put_user(from->si_signo, &to->si_signo); + err |= __put_user(from->si_errno, &to->si_errno); err |= __put_user((short)from->si_code, &to->si_code); if (from->si_code < 0) { @@ -72,6 +72,7 @@ int copy_siginfo_to_user32(compat_siginf err |= __put_user(from->si_utime, &to->si_utime); err |= __put_user(from->si_stime, &to->si_stime); err |= __put_user(from->si_status, &to->si_status); + /* FALL THROUGH */ default: case __SI_KILL >> 16: err |= __put_user(from->si_uid, &to->si_uid); @@ -81,7 +82,8 @@ int copy_siginfo_to_user32(compat_siginf break; case __SI_TIMER >> 16: err |= __put_user(from->si_overrun, &to->si_overrun); - err |= __put_user(ptr_to_compat(from->si_ptr), &to->si_ptr); + err |= __put_user(ptr_to_compat(from->si_ptr), + &to->si_ptr); break; case __SI_RT >> 16: /* This is not generated by the kernel as of now. */ case __SI_MESGQ >> 16: @@ -205,14 +207,14 @@ ia32_restore_sigcontext(struct pt_regs * sc, sc->err, sc->eip, sc->cs, sc->eflags); #endif #define COPY(x) { \ - unsigned int reg; \ + unsigned int reg; \ err |= __get_user(reg, &sc->e ##x); \ regs->r ## x = reg; \ } #define RELOAD_SEG(seg,mask) \ - { unsigned int cur; \ - unsigned short pre; \ + { unsigned int cur; \ + unsigned short pre; \ err |= __get_user(pre, &sc->seg); \ asm volatile("movl %%" #seg ",%0" : "=r" (cur)); \ pre |= mask; \ @@ -377,19 +379,19 @@ ia32_setup_sigcontext(struct sigcontext_ err |= __put_user(current->thread.error_code, &sc->err); err |= __put_user((u32)regs->rip, &sc->eip); eflags = regs->eflags; - if (current->ptrace & PT_PTRACED) { + if (current->ptrace & PT_PTRACED) eflags &= ~TF_MASK; - } err |= __put_user((u32)eflags, &sc->eflags); err |= __put_user((u32)regs->rsp, &sc->esp_at_signal); tmp = save_i387_ia32(current, fpstate, regs, 0); if (tmp < 0) - err = -EFAULT; + err = -EFAULT; else { clear_used_math(); stts(); - err |= __put_user(ptr_to_compat(tmp ? fpstate : NULL), &sc->fpstate); + err |= __put_user(ptr_to_compat(tmp ? fpstate : NULL), + &sc->fpstate); } /* non-iBCS2 extensions.. */ @@ -439,7 +441,7 @@ void ia32_setup_frame(int sig, struct k_ { struct exec_domain *ed = current_thread_info()->exec_domain; - err |= __put_user((ed + err |= __put_user((ed && ed->signal_invmap && sig < 32 ? ed->signal_invmap[sig] @@ -449,7 +451,8 @@ void ia32_setup_frame(int sig, struct k_ if (err) goto give_sigsegv; - err |= ia32_setup_sigcontext(&frame->sc, &frame->fpstate, regs, set->sig[0]); + err |= ia32_setup_sigcontext(&frame->sc, &frame->fpstate, regs, + set->sig[0]); if (err) goto give_sigsegv; @@ -528,10 +531,9 @@ void ia32_setup_rt_frame(int sig, struct if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; - { struct exec_domain *ed = current_thread_info()->exec_domain; - err |= __put_user((ed + err |= __put_user((ed && ed->signal_invmap && sig < 32 ? ed->signal_invmap[sig] diff -puN arch/x86_64/kernel/signal.c~x86_64-fix-formatting-and-white-space-in-signal-code arch/x86_64/kernel/signal.c --- 25/arch/x86_64/kernel/signal.c~x86_64-fix-formatting-and-white-space-in-signal-code Wed Mar 23 15:38:49 2005 +++ 25-akpm/arch/x86_64/kernel/signal.c Wed Mar 23 15:38:49 2005 @@ -160,9 +160,8 @@ asmlinkage long sys_rt_sigreturn(struct recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax)) { + if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax)) goto badframe; - } #ifdef DEBUG_SIG printk("%d sigreturn rip:%lx rsp:%lx frame:%p rax:%lx\n",current->pid,regs.rip,regs.rsp,frame,eax); @@ -253,28 +252,25 @@ static void setup_rt_frame(int sig, stru if (used_math()) { fp = get_stack(ka, regs, sizeof(struct _fpstate)); - frame = (void __user *)round_down((unsigned long)fp - sizeof(struct rt_sigframe), 16) - 8; + frame = (void __user *)round_down( + (unsigned long)fp - sizeof(struct rt_sigframe), 16) - 8; - if (!access_ok(VERIFY_WRITE, fp, sizeof(struct _fpstate))) { - goto give_sigsegv; - } + if (!access_ok(VERIFY_WRITE, fp, sizeof(struct _fpstate))) + goto give_sigsegv; if (save_i387(fp) < 0) err |= -1; - } else { + } else frame = get_stack(ka, regs, sizeof(struct rt_sigframe)) - 8; - } - if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) { + if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; - } if (ka->sa.sa_flags & SA_SIGINFO) { err |= copy_siginfo_to_user(&frame->info, info); - if (err) { + if (err) goto give_sigsegv; } - } /* Create the ucontext. */ err |= __put_user(0, &frame->uc.uc_flags); @@ -288,9 +284,8 @@ static void setup_rt_frame(int sig, stru if (sizeof(*set) == 16) { __put_user(set->sig[0], &frame->uc.uc_sigmask.sig[0]); __put_user(set->sig[1], &frame->uc.uc_sigmask.sig[1]); - } else { - err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); - } + } else + err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); /* Set up to return from userspace. If provided, use a stub already in userspace. */ @@ -302,9 +297,8 @@ static void setup_rt_frame(int sig, stru goto give_sigsegv; } - if (err) { + if (err) goto give_sigsegv; - } #ifdef DEBUG_SIG printk("%d old rip %lx old rsp %lx old rax %lx\n", current->pid,regs->rip,regs->rsp,regs->rax); @@ -357,7 +351,8 @@ handle_signal(unsigned long sig, siginfo sigset_t *oldset, struct pt_regs *regs) { #ifdef DEBUG_SIG - printk("handle_signal pid:%d sig:%lu rip:%lx rsp:%lx regs=%p\n", current->pid, sig, + printk("handle_signal pid:%d sig:%lu rip:%lx rsp:%lx regs=%p\n", + current->pid, sig, regs->rip, regs->rsp, regs); #endif @@ -375,10 +370,11 @@ handle_signal(unsigned long sig, siginfo regs->rax = -EINTR; break; } - /* fallthrough */ + /* fallthrough */ case -ERESTARTNOINTR: regs->rax = regs->orig_rax; regs->rip -= 2; + break; } } @@ -418,9 +414,8 @@ int do_signal(struct pt_regs *regs, sigs * kernel mode. Just return without doing anything * if so. */ - if ((regs->cs & 3) != 3) { + if ((regs->cs & 3) != 3) return 1; - } if (try_to_freeze(0)) goto no_signal; _