]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
signal: Remove task parameter from force_sig
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 23 May 2019 15:17:27 +0000 (10:17 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Mon, 27 May 2019 14:36:28 +0000 (09:36 -0500)
All of the remaining callers pass current into force_sig so
remove the task parameter to make this obvious and to make
misuse more difficult in the future.

This also makes it clear force_sig passes current into force_sig_info.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
76 files changed:
arch/alpha/kernel/signal.c
arch/arc/kernel/process.c
arch/arc/kernel/signal.c
arch/arm/kernel/signal.c
arch/arm64/kernel/traps.c
arch/c6x/kernel/signal.c
arch/csky/kernel/signal.c
arch/h8300/kernel/ptrace_h.c
arch/h8300/kernel/ptrace_s.c
arch/h8300/kernel/signal.c
arch/hexagon/kernel/signal.c
arch/hexagon/kernel/traps.c
arch/ia64/kernel/signal.c
arch/ia64/kernel/traps.c
arch/m68k/kernel/signal.c
arch/m68k/kernel/traps.c
arch/microblaze/kernel/signal.c
arch/mips/kernel/branch.c
arch/mips/kernel/kprobes.c
arch/mips/kernel/signal.c
arch/mips/kernel/signal_n32.c
arch/mips/kernel/signal_o32.c
arch/mips/kernel/traps.c
arch/mips/kernel/unaligned.c
arch/mips/sgi-ip22/ip22-berr.c
arch/mips/sgi-ip22/ip28-berr.c
arch/mips/sgi-ip27/ip27-berr.c
arch/mips/sgi-ip32/ip32-berr.c
arch/nds32/kernel/signal.c
arch/nds32/kernel/traps.c
arch/nios2/kernel/signal.c
arch/openrisc/kernel/signal.c
arch/openrisc/kernel/traps.c
arch/parisc/kernel/signal.c
arch/powerpc/kernel/signal_32.c
arch/powerpc/kernel/signal_64.c
arch/powerpc/platforms/cell/spufs/run.c
arch/riscv/kernel/signal.c
arch/s390/kernel/compat_signal.c
arch/s390/kernel/signal.c
arch/sh/kernel/cpu/sh2a/fpu.c
arch/sh/kernel/cpu/sh4/fpu.c
arch/sh/kernel/cpu/sh5/fpu.c
arch/sh/kernel/ptrace_64.c
arch/sh/kernel/signal_32.c
arch/sh/kernel/signal_64.c
arch/sh/kernel/traps.c
arch/sh/kernel/traps_32.c
arch/sh/kernel/traps_64.c
arch/sparc/kernel/process_64.c
arch/sparc/kernel/signal32.c
arch/sparc/kernel/signal_32.c
arch/sparc/kernel/signal_64.c
arch/sparc/kernel/traps_64.c
arch/sparc/mm/fault_32.c
arch/um/kernel/exec.c
arch/um/kernel/tlb.c
arch/um/kernel/trap.c
arch/unicore32/kernel/signal.c
arch/x86/entry/vsyscall/vsyscall_64.c
arch/x86/kernel/cpu/mce/core.c
arch/x86/kernel/signal.c
arch/x86/kernel/traps.c
arch/x86/kernel/uprobes.c
arch/x86/kernel/vm86_32.c
arch/x86/mm/mpx.c
arch/x86/um/signal.c
arch/xtensa/kernel/signal.c
arch/xtensa/kernel/traps.c
drivers/misc/lkdtm/bugs.c
include/linux/sched/signal.h
include/linux/syscalls.h
kernel/events/uprobes.c
kernel/rseq.c
kernel/signal.c
security/safesetid/lsm.c

index 33e904a05881797481c1d95b68e56332040bf809..a813020d2f1170b3daba65ccc270718d5ea24b84 100644 (file)
@@ -225,7 +225,7 @@ do_sigreturn(struct sigcontext __user *sc)
        return;
 
 give_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 asmlinkage void
@@ -253,7 +253,7 @@ do_rt_sigreturn(struct rt_sigframe __user *frame)
        return;
 
 give_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 
index 725e556678a47308dd9398f735b0bd35c106cece..deee16d5c03fb218786faf69e8ddd979458fb6b3 100644 (file)
@@ -100,7 +100,7 @@ SYSCALL_DEFINE3(arc_usr_cmpxchg, int *, uaddr, int, expected, int, new)
                 goto again;
 
 fail:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return ret;
 }
 
index 1bfb7de696bd67361a098be6a705df21d3c0ff00..547c8f0cdc3a46ab603e88a282627e21e9fb41a3 100644 (file)
@@ -197,7 +197,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
        return regs->r0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index be5edfdde558d600494c6720850a7ed0c0e0b153..3870e0588d53b5fa044641d891910b2be77b7176 100644 (file)
@@ -250,7 +250,7 @@ asmlinkage int sys_sigreturn(struct pt_regs *regs)
        return regs->ARM_r0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -283,7 +283,7 @@ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs)
        return regs->ARM_r0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index e45d5b440fb1c74104312215be5c1ae13e4a269c..64abe845078012abc37709531acd39fbfd9b8040 100644 (file)
@@ -257,7 +257,7 @@ void arm64_force_sig_fault(int signo, int code, void __user *addr,
 {
        arm64_show_signal(signo, str);
        if (signo == SIGKILL)
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
        else
                force_sig_fault(signo, code, addr, current);
 }
index 33b9f69c38f7ba8f95aa5e07e259c3d343bd0c97..775de34b233aabb9dba8ad86b29c4f3b97fb39ef 100644 (file)
@@ -93,7 +93,7 @@ asmlinkage int do_rt_sigreturn(struct pt_regs *regs)
        return regs->a4;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 04a43cfd4e09f3babe35685e3dcabcb1085aa6e2..7c09adeb58bb43b1152f991c316887ab50e6d4e9 100644 (file)
@@ -61,7 +61,6 @@ SYSCALL_DEFINE0(rt_sigreturn)
 {
        struct pt_regs *regs = current_pt_regs();
        struct rt_sigframe __user *frame;
-       struct task_struct *task;
        sigset_t set;
 
        /* Always make any pending restarted system calls return -EINTR */
@@ -86,8 +85,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
        return regs->a0;
 
 badframe:
-       task = current;
-       force_sig(SIGSEGV, task);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index f5ff3b794c8512ce430812fd07b5c85752294d79..15db45a03b04560fc177e799db6d591c56501c5e 100644 (file)
@@ -250,7 +250,7 @@ asmlinkage void trace_trap(unsigned long bp)
 {
        if ((unsigned long)current->thread.breakinfo.addr == bp) {
                user_disable_single_step(current);
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
        } else
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
 }
index c0af930052c019135fef2d3f346ff4f1f13b5186..ee21f37b7ed4458da802a9b80fc7f2a95bb89b69 100644 (file)
@@ -40,5 +40,5 @@ void user_enable_single_step(struct task_struct *child)
 asmlinkage void trace_trap(unsigned long bp)
 {
        (void)bp;
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
 }
index e0f2b708e5d9dbb6dd92cc7ac59c1f0a24411c96..ef7489b7c4590ac344fee651a0ef427a9f931917 100644 (file)
@@ -126,7 +126,7 @@ asmlinkage int sys_rt_sigreturn(void)
        return er0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 31e2cf95f189c303cc4039753fb26fdd4db7505a..0433fcbb496c638165ea68f2e4683c97b66c467d 100644 (file)
@@ -265,6 +265,6 @@ asmlinkage int sys_rt_sigreturn(void)
        return regs->r00;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
index 91ee04842c22cba5c6208088a86bc92b34eb28b7..e634414361dfb6ff2a45538d475731ea4bd057dc 100644 (file)
@@ -252,7 +252,7 @@ int die_if_kernel(char *str, struct pt_regs *regs, long err)
 static void misaligned_instruction(struct pt_regs *regs)
 {
        die_if_kernel("Misaligned Instruction", regs, 0);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 /*
@@ -263,19 +263,19 @@ static void misaligned_instruction(struct pt_regs *regs)
 static void misaligned_data_load(struct pt_regs *regs)
 {
        die_if_kernel("Misaligned Data Load", regs, 0);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 static void misaligned_data_store(struct pt_regs *regs)
 {
        die_if_kernel("Misaligned Data Store", regs, 0);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 static void illegal_instruction(struct pt_regs *regs)
 {
        die_if_kernel("Illegal Instruction", regs, 0);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 /*
@@ -285,7 +285,7 @@ static void illegal_instruction(struct pt_regs *regs)
 static void precise_bus_error(struct pt_regs *regs)
 {
        die_if_kernel("Precise Bus Error", regs, 0);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 /*
index 518cceb5d4afd03c4445234a857f0d13b331b836..e5044aed9452007435e695645f051cd8c137b3a1 100644 (file)
@@ -152,7 +152,7 @@ ia64_rt_sigreturn (struct sigscratch *scr)
        return retval;
 
   give_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return retval;
 }
 
index 85d8616ac4f6e1ae32ea6964a79a7323b55e7389..0a3adbfebc2ab120ecfa79e680c03615f23a63cd 100644 (file)
@@ -589,14 +589,14 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa,
                printk(KERN_ERR "Unexpected IA-32 exception (Trap 45)\n");
                printk(KERN_ERR "  iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx\n",
                       iip, ifa, isr);
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return;
 
              case 46:
                printk(KERN_ERR "Unexpected IA-32 intercept trap (Trap 46)\n");
                printk(KERN_ERR "  iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx, iim - 0x%lx\n",
                       iip, ifa, isr, iim);
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return;
 
              case 47:
@@ -608,5 +608,5 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa,
                break;
        }
        if (!die_if_kernel(buf, &regs, error))
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
 }
index 87e7f3639839f559ee6afaec04428f055ac8d56b..05610e6924c1615115a6127486e4016a20462a9c 100644 (file)
@@ -803,7 +803,7 @@ asmlinkage int do_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
        return regs->d0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -825,7 +825,7 @@ asmlinkage int do_rt_sigreturn(struct pt_regs *regs, struct switch_stack *sw)
        return regs->d0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index b2fd000b92857b0eb607fe654d6e13ebc57f3a1f..2b6e143abd7335c6fa350a461bdb5897e0c3b934 100644 (file)
@@ -431,7 +431,7 @@ static inline void bus_error030 (struct frame *fp)
                        pr_err("BAD KERNEL BUSERR\n");
 
                        die_if_kernel("Oops", &fp->ptregs,0);
-                       force_sig(SIGKILL, current);
+                       force_sig(SIGKILL);
                        return;
                }
        } else {
@@ -463,7 +463,7 @@ static inline void bus_error030 (struct frame *fp)
                                 !(ssw & RW) ? "write" : "read", addr,
                                 fp->ptregs.pc);
                        die_if_kernel ("Oops", &fp->ptregs, buserr_type);
-                       force_sig (SIGBUS, current);
+                       force_sig (SIGBUS);
                        return;
                }
 
@@ -493,7 +493,7 @@ static inline void bus_error030 (struct frame *fp)
                        do_page_fault (&fp->ptregs, addr, 0);
        } else {
                pr_debug("protection fault on insn access (segv).\n");
-               force_sig (SIGSEGV, current);
+               force_sig (SIGSEGV);
        }
 }
 #else
@@ -571,7 +571,7 @@ static inline void bus_error030 (struct frame *fp)
                               !(ssw & RW) ? "write" : "read", addr,
                               fp->ptregs.pc);
                        die_if_kernel("Oops",&fp->ptregs,mmusr);
-                       force_sig(SIGSEGV, current);
+                       force_sig(SIGSEGV);
                        return;
                } else {
 #if 0
@@ -598,7 +598,7 @@ static inline void bus_error030 (struct frame *fp)
 #endif
                        pr_debug("Unknown SIGSEGV - 1\n");
                        die_if_kernel("Oops",&fp->ptregs,mmusr);
-                       force_sig(SIGSEGV, current);
+                       force_sig(SIGSEGV);
                        return;
                }
 
@@ -621,7 +621,7 @@ static inline void bus_error030 (struct frame *fp)
        buserr:
                pr_err("BAD KERNEL BUSERR\n");
                die_if_kernel("Oops",&fp->ptregs,0);
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
                return;
        }
 
@@ -660,7 +660,7 @@ static inline void bus_error030 (struct frame *fp)
                        addr, fp->ptregs.pc);
                pr_debug("Unknown SIGSEGV - 2\n");
                die_if_kernel("Oops",&fp->ptregs,mmusr);
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return;
        }
 
@@ -804,7 +804,7 @@ asmlinkage void buserr_c(struct frame *fp)
        default:
          die_if_kernel("bad frame format",&fp->ptregs,0);
          pr_debug("Unknown SIGSEGV - 4\n");
-         force_sig(SIGSEGV, current);
+         force_sig(SIGSEGV);
        }
 }
 
index 0685696349bb4415a4c4f1c6d9d3249c54be501f..cdd4feb279c5fa8f46394dea57e0328157640db8 100644 (file)
@@ -108,7 +108,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
        return rval;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 180ad081afcf932fe61c7431bc1b87f5ebb1cc9d..1db29957a9318f175383d17002dd64ebce8bd294 100644 (file)
@@ -32,7 +32,7 @@ int __isa_exception_epc(struct pt_regs *regs)
        /* Calculate exception PC in branch delay slot. */
        if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) {
                /* This should never happen because delay slot was checked. */
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return epc;
        }
        if (cpu_has_mips16) {
@@ -305,7 +305,7 @@ int __microMIPS_compute_return_epc(struct pt_regs *regs)
        return 0;
 
 sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return -EFAULT;
 }
 
@@ -328,7 +328,7 @@ int __MIPS16e_compute_return_epc(struct pt_regs *regs)
        /* Read the instruction. */
        addr = (u16 __user *)msk_isa16_mode(epc);
        if (__get_user(inst.full, addr)) {
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return -EFAULT;
        }
 
@@ -343,7 +343,7 @@ int __MIPS16e_compute_return_epc(struct pt_regs *regs)
        case MIPS16e_jal_op:
                addr += 1;
                if (__get_user(inst2, addr)) {
-                       force_sig(SIGSEGV, current);
+                       force_sig(SIGSEGV);
                        return -EFAULT;
                }
                fullinst = ((unsigned)inst.full << 16) | inst2;
@@ -829,17 +829,17 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
 sigill_dsp:
        pr_debug("%s: DSP branch but not DSP ASE - sending SIGILL.\n",
                 current->comm);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
        return -EFAULT;
 sigill_r2r6:
        pr_debug("%s: R2 branch but r2-to-r6 emulator is not present - sending SIGILL.\n",
                 current->comm);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
        return -EFAULT;
 sigill_r6:
        pr_debug("%s: R6 branch but no MIPSr6 ISA support - sending SIGILL.\n",
                 current->comm);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
        return -EFAULT;
 }
 EXPORT_SYMBOL_GPL(__compute_return_epc_for_insn);
@@ -859,7 +859,7 @@ int __compute_return_epc(struct pt_regs *regs)
         */
        addr = (unsigned int __user *) epc;
        if (__get_user(insn.word, addr)) {
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                return -EFAULT;
        }
 
@@ -867,7 +867,7 @@ int __compute_return_epc(struct pt_regs *regs)
 
 unaligned:
        printk("%s: unaligned epc - sending SIGBUS.\n", current->comm);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
        return -EFAULT;
 }
 
index 54cd675c5d1d474153f1d3c6b265bdc1c194b378..62af3ed657946b02a589c8b68a1eb65578a430a7 100644 (file)
@@ -232,7 +232,7 @@ static int evaluate_branch_instruction(struct kprobe *p, struct pt_regs *regs,
 
 unaligned:
        pr_notice("%s: unaligned epc - sending SIGBUS.\n", current->comm);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
        return -EFAULT;
 
 }
index d75337974ee9b8ef8b8adb223f82cb4e17598659..f6efabcb4e92054c184bc7e523b564e38ef23c7b 100644 (file)
@@ -641,7 +641,7 @@ asmlinkage void sys_sigreturn(void)
        if (sig < 0)
                goto badframe;
        else if (sig)
-               force_sig(sig, current);
+               force_sig(sig);
 
        /*
         * Don't let your children do this ...
@@ -654,7 +654,7 @@ asmlinkage void sys_sigreturn(void)
        /* Unreached */
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 #endif /* CONFIG_TRAD_SIGNALS */
 
@@ -678,7 +678,7 @@ asmlinkage void sys_rt_sigreturn(void)
        if (sig < 0)
                goto badframe;
        else if (sig)
-               force_sig(sig, current);
+               force_sig(sig);
 
        if (restore_altstack(&frame->rs_uc.uc_stack))
                goto badframe;
@@ -694,7 +694,7 @@ asmlinkage void sys_rt_sigreturn(void)
        /* Unreached */
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 #ifdef CONFIG_TRAD_SIGNALS
index c498b027823e695a31f39bdee86d7056ccc56403..a7601e862261d0e8d5500c66705450134c3b5282 100644 (file)
@@ -84,7 +84,7 @@ asmlinkage void sysn32_rt_sigreturn(void)
        if (sig < 0)
                goto badframe;
        else if (sig)
-               force_sig(sig, current);
+               force_sig(sig);
 
        if (compat_restore_altstack(&frame->rs_uc.uc_stack))
                goto badframe;
@@ -100,7 +100,7 @@ asmlinkage void sysn32_rt_sigreturn(void)
        /* Unreached */
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 static int setup_rt_frame_n32(void *sig_return, struct ksignal *ksig,
index df259618e834bb390629b7df18e6a65225c9d109..299a7a28ca33f2b0d9937c7e29e72797d8acd6ac 100644 (file)
@@ -171,7 +171,7 @@ asmlinkage void sys32_rt_sigreturn(void)
        if (sig < 0)
                goto badframe;
        else if (sig)
-               force_sig(sig, current);
+               force_sig(sig);
 
        if (compat_restore_altstack(&frame->rs_uc.uc_stack))
                goto badframe;
@@ -187,7 +187,7 @@ asmlinkage void sys32_rt_sigreturn(void)
        /* Unreached */
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 static int setup_rt_frame_32(void *sig_return, struct ksignal *ksig,
@@ -273,7 +273,7 @@ asmlinkage void sys32_sigreturn(void)
        if (sig < 0)
                goto badframe;
        else if (sig)
-               force_sig(sig, current);
+               force_sig(sig);
 
        /*
         * Don't let your children do this ...
@@ -286,5 +286,5 @@ asmlinkage void sys32_sigreturn(void)
        /* Unreached */
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
index c52766a5b85f5ce8ac10bc104ac77354e1eb2885..a6031b045b95c904647e6169b5d14f5f412cce8f 100644 (file)
@@ -482,7 +482,7 @@ asmlinkage void do_be(struct pt_regs *regs)
                goto out;
 
        die_if_kernel("Oops", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
 out:
        exception_exit(prev_state);
@@ -765,7 +765,7 @@ int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
                return 1;
 
        default:
-               force_sig(sig, current);
+               force_sig(sig);
                return 1;
        }
 }
@@ -947,7 +947,7 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
                break;
        case BRK_BUG:
                die_if_kernel("Kernel bug detected", regs);
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
                break;
        case BRK_MEMU:
                /*
@@ -962,7 +962,7 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
                        return;
 
                die_if_kernel("Math emu break/trap", regs);
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
                break;
        default:
                scnprintf(b, sizeof(b), "%s instruction in kernel code", str);
@@ -970,7 +970,7 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
                if (si_code) {
                        force_sig_fault(SIGTRAP, si_code, NULL, current);
                } else {
-                       force_sig(SIGTRAP, current);
+                       force_sig(SIGTRAP);
                }
        }
 }
@@ -1063,7 +1063,7 @@ asmlinkage void do_bp(struct pt_regs *regs)
        return;
 
 out_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -1105,7 +1105,7 @@ asmlinkage void do_tr(struct pt_regs *regs)
        return;
 
 out_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -1191,7 +1191,7 @@ asmlinkage void do_ri(struct pt_regs *regs)
        if (unlikely(status > 0)) {
                regs->cp0_epc = old_epc;                /* Undo skip-over.  */
                regs->regs[31] = old31;
-               force_sig(status, current);
+               force_sig(status);
        }
 
 out:
@@ -1220,7 +1220,7 @@ static int default_cu2_call(struct notifier_block *nfb, unsigned long action,
 
        die_if_kernel("COP2: Unhandled kernel unaligned access or invalid "
                              "instruction", regs);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 
        return NOTIFY_OK;
 }
@@ -1383,7 +1383,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
                if (unlikely(status > 0)) {
                        regs->cp0_epc = old_epc;        /* Undo skip-over.  */
                        regs->regs[31] = old31;
-                       force_sig(status, current);
+                       force_sig(status);
                }
 
                break;
@@ -1403,7 +1403,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
                 * emulator too.
                 */
                if (raw_cpu_has_fpu || !cpu_has_mips_4_5_64_r2_r6) {
-                       force_sig(SIGILL, current);
+                       force_sig(SIGILL);
                        break;
                }
                /* Fall through.  */
@@ -1437,7 +1437,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
 #else /* CONFIG_MIPS_FP_SUPPORT */
        case 1:
        case 3:
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
                break;
 #endif /* CONFIG_MIPS_FP_SUPPORT */
 
@@ -1464,7 +1464,7 @@ asmlinkage void do_msa_fpe(struct pt_regs *regs, unsigned int msacsr)
        local_irq_enable();
 
        die_if_kernel("do_msa_fpe invoked from kernel context!", regs);
-       force_sig(SIGFPE, current);
+       force_sig(SIGFPE);
 out:
        exception_exit(prev_state);
 }
@@ -1477,7 +1477,7 @@ asmlinkage void do_msa(struct pt_regs *regs)
        prev_state = exception_enter();
 
        if (!cpu_has_msa || test_thread_flag(TIF_32BIT_FPREGS)) {
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
                goto out;
        }
 
@@ -1485,7 +1485,7 @@ asmlinkage void do_msa(struct pt_regs *regs)
 
        err = enable_restore_fp_context(1);
        if (err)
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
 out:
        exception_exit(prev_state);
 }
@@ -1495,7 +1495,7 @@ asmlinkage void do_mdmx(struct pt_regs *regs)
        enum ctx_state prev_state;
 
        prev_state = exception_enter();
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
        exception_exit(prev_state);
 }
 
@@ -1592,7 +1592,7 @@ asmlinkage void do_mt(struct pt_regs *regs)
        }
        die_if_kernel("MIPS MT Thread exception in kernel", regs);
 
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 
@@ -1601,7 +1601,7 @@ asmlinkage void do_dsp(struct pt_regs *regs)
        if (cpu_has_dsp)
                panic("Unexpected DSP exception");
 
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 asmlinkage void do_reserved(struct pt_regs *regs)
index 76e33f9409719b5094cfb53f95bba9e07d2b9c25..92bd2b0f05484f13a36768d8adb8905b20363d5b 100644 (file)
@@ -1365,20 +1365,20 @@ static void emulate_load_store_insn(struct pt_regs *regs,
                return;
 
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 
        return;
 
 sigbus:
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
        return;
 
 sigill:
        die_if_kernel
            ("Unhandled kernel unaligned access or invalid instruction", regs);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 /* Recode table from 16-bit register notation to 32-bit GPR. */
@@ -1991,20 +1991,20 @@ static void emulate_load_store_microMIPS(struct pt_regs *regs,
                return;
 
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 
        return;
 
 sigbus:
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
        return;
 
 sigill:
        die_if_kernel
            ("Unhandled kernel unaligned access or invalid instruction", regs);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 static void emulate_load_store_MIPS16e(struct pt_regs *regs, void __user * addr)
@@ -2271,20 +2271,20 @@ static void emulate_load_store_MIPS16e(struct pt_regs *regs, void __user * addr)
                return;
 
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 
        return;
 
 sigbus:
        die_if_kernel("Unhandled kernel unaligned access", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
        return;
 
 sigill:
        die_if_kernel
            ("Unhandled kernel unaligned access or invalid instruction", regs);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 asmlinkage void do_ade(struct pt_regs *regs)
@@ -2364,7 +2364,7 @@ asmlinkage void do_ade(struct pt_regs *regs)
 
 sigbus:
        die_if_kernel("Kernel unaligned instruction access", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
        /*
         * XXX On return from the signal handler we should advance the epc
index 34bb9801d5ff52867093e9bff2fdd23868f8721f..dc0110a607a5b4dd469ee54e245b511c5a59538e 100644 (file)
@@ -98,7 +98,7 @@ void ip22_be_interrupt(int irq)
               field, regs->cp0_epc, field, regs->regs[31]);
        /* Assume it would be too dangerous to continue ... */
        die_if_kernel("Oops", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 static int ip22_be_handler(struct pt_regs *regs, int is_fixup)
index 082541d33161c6790e9d8fe7a840b11d4385f5b6..c0cf7baee36d4753f3d5547461278403b327871d 100644 (file)
@@ -462,7 +462,7 @@ void ip22_be_interrupt(int irq)
        if (ip28_be_interrupt(regs) != MIPS_BE_DISCARD) {
                /* Assume it would be too dangerous to continue ... */
                die_if_kernel("Oops", regs);
-               force_sig(SIGBUS, current);
+               force_sig(SIGBUS);
        } else if (debug_be_interrupt)
                show_regs(regs);
 }
index 83efe03d5c600f695d073279c1d594a7ca60b471..73ad29b180fb500e90cdde82a926475662815aed 100644 (file)
@@ -74,7 +74,7 @@ int ip27_be_handler(struct pt_regs *regs, int is_fixup)
        show_regs(regs);
        dump_tlb_all();
        while(1);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 void __init ip27_be_init(void)
index c1f12a9cf305f4196bd23cbe01b7dc73dc852b26..c860f95ab7edd44147ac6d99a8c07b16b2d95253 100644 (file)
@@ -29,7 +29,7 @@ static int ip32_be_handler(struct pt_regs *regs, int is_fixup)
        show_regs(regs);
        dump_tlb_all();
        while(1);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 }
 
 void __init ip32_be_init(void)
index 5f7660aa2d68a7904e68d9b8ad5ad5a5389d53b2..fe61513982b4a916a8ba50b545b8c9bf207d6780 100644 (file)
@@ -163,7 +163,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs)
        return regs->uregs[0];
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 5aa7c17da27ac0ffd93fecaf06b03a5f253ad828..8d84b8b30eb6bafcca1b31948a44161773ad218d 100644 (file)
@@ -288,7 +288,7 @@ void unhandled_interruption(struct pt_regs *regs)
        show_regs(regs);
        if (!user_mode(regs))
                do_exit(SIGKILL);
-       force_sig(SIGKILL, current);
+       force_sig(SIGKILL);
 }
 
 void unhandled_exceptions(unsigned long entry, unsigned long addr,
@@ -299,7 +299,7 @@ void unhandled_exceptions(unsigned long entry, unsigned long addr,
        show_regs(regs);
        if (!user_mode(regs))
                do_exit(SIGKILL);
-       force_sig(SIGKILL, current);
+       force_sig(SIGKILL);
 }
 
 extern int do_page_fault(unsigned long entry, unsigned long addr,
@@ -326,7 +326,7 @@ void do_revinsn(struct pt_regs *regs)
        show_regs(regs);
        if (!user_mode(regs))
                do_exit(SIGILL);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 #ifdef CONFIG_ALIGNMENT_TRAP
index 9bf38531b189e141e3d7bfb512650722bbbd5955..a42dd09c657831311dc8a570f8b932417e86be48 100644 (file)
@@ -120,7 +120,7 @@ asmlinkage int do_rt_sigreturn(struct switch_stack *sw)
        return rval;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 5ac9d3b1d6158ba166c382ee70264613e763598d..0337d1e1d2d590ed19a4ab2716d7a876f55a4402 100644 (file)
@@ -99,7 +99,7 @@ asmlinkage long _sys_rt_sigreturn(struct pt_regs *regs)
        return regs->gpr[11];
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 6ed7293ef007f4ae068622ff73ed178aae94c07e..0fad2e46ff437be5f683a7a9661a4727e28224bf 100644 (file)
@@ -376,7 +376,7 @@ static inline void simulate_lwa(struct pt_regs *regs, unsigned long address,
 
        if (get_user(value, lwa_addr)) {
                if (user_mode(regs)) {
-                       force_sig(SIGSEGV, current);
+                       force_sig(SIGSEGV);
                        return;
                }
 
@@ -423,7 +423,7 @@ static inline void simulate_swa(struct pt_regs *regs, unsigned long address,
 
        if (put_user(regs->gpr[rb], vaddr)) {
                if (user_mode(regs)) {
-                       force_sig(SIGSEGV, current);
+                       force_sig(SIGSEGV);
                        return;
                }
 
index 848c1934680bb4a88610f3570e75d03d55f84429..02895a8f2c551f6963a3eaa1232ca5b8655241d1 100644 (file)
@@ -164,7 +164,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
 
 give_sigsegv:
        DBG(1,"sys_rt_sigreturn: Sending SIGSEGV\n");
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return;
 }
 
index ede4f04281ae01ef36537b421504b297149fd6d9..fd48cdc0a4ff027d176989875a0593aa53b59ded 100644 (file)
@@ -1249,7 +1249,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
                                   current->comm, current->pid,
                                   rt_sf, regs->nip, regs->link);
 
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -1338,7 +1338,7 @@ SYSCALL_DEFINE3(debug_setcontext, struct ucontext __user *, ctx,
                                           current->comm, current->pid,
                                           ctx, regs->nip, regs->link);
 
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
                goto out;
        }
 
@@ -1516,6 +1516,6 @@ SYSCALL_DEFINE0(sigreturn)
                                   current->comm, current->pid,
                                   addr, regs->nip, regs->link);
 
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
index 06c299ef613221e0d0c1dd07995b0795bafd41aa..ea08d848f558dfe173ef44aa436d778c94a3f346 100644 (file)
@@ -812,7 +812,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
                                   current->comm, current->pid, "rt_sigreturn",
                                   (long)uc, regs->nip, regs->link);
 
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 07f82d7395ffd49b27115281604290de8bdd84e0..3f2380f40f9963610824274b69a4031e6763a0ac 100644 (file)
@@ -443,7 +443,7 @@ long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event)
 
        else if (unlikely((status & SPU_STATUS_STOPPED_BY_STOP)
            && (status >> SPU_STOP_STATUS_SHIFT) == 0x3fff)) {
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
                ret = -ERESTARTSYS;
        }
 
index 804d6ee4f3c5b3b743bdf5ff3c82e61fe016f329..50c0e64372b00473125a3dde3f9bc1fb9ded0987 100644 (file)
@@ -139,7 +139,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
                        task->comm, task_pid_nr(task), __func__,
                        frame, (void *)regs->sepc, (void *)regs->sp);
        }
-       force_sig(SIGSEGV, task);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 6f2a193ccccc6937a4be75cd5c9f2d079896c608..38d4bdbc34b913ac50ad917f5fe6f5c1391ac681 100644 (file)
@@ -194,7 +194,7 @@ COMPAT_SYSCALL_DEFINE0(sigreturn)
        load_sigregs();
        return regs->gprs[2];
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -217,7 +217,7 @@ COMPAT_SYSCALL_DEFINE0(rt_sigreturn)
        load_sigregs();
        return regs->gprs[2];
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }      
 
index 22f08245aa5d46ef5f80398ebcc4e064099c91a6..e6fca5498e1fda810f0aa3fb7bb3e18f55a81272 100644 (file)
@@ -232,7 +232,7 @@ SYSCALL_DEFINE0(sigreturn)
        load_sigregs();
        return regs->gprs[2];
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -256,7 +256,7 @@ SYSCALL_DEFINE0(rt_sigreturn)
        load_sigregs();
        return regs->gprs[2];
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 74b48db86dd71350909ce40afcaee187e89ee22f..0bcff11a4843d32524843b6b15c5b94c18cd762a 100644 (file)
@@ -568,5 +568,5 @@ BUILD_TRAP_HANDLER(fpu_error)
                return;
        }
 
-       force_sig(SIGFPE, tsk);
+       force_sig(SIGFPE);
 }
index 1ff56e5ba990ff90056780733651e146bc872899..03ffd8cdf5424478a0840ad2f0903d4a318afa80 100644 (file)
@@ -421,5 +421,5 @@ BUILD_TRAP_HANDLER(fpu_error)
                }
        }
 
-       force_sig(SIGFPE, tsk);
+       force_sig(SIGFPE);
 }
index 9218d9ed787e87d1095029b39ce0ee5dbe33d9e1..3966b5ee8e93ecb702c8052d590039918348f46e 100644 (file)
@@ -100,9 +100,7 @@ void restore_fpu(struct task_struct *tsk)
 
 asmlinkage void do_fpu_error(unsigned long ex, struct pt_regs *regs)
 {
-       struct task_struct *tsk = current;
-
        regs->pc += 4;
 
-       force_sig(SIGFPE, tsk);
+       force_sig(SIGFPE);
 }
index 3390349ff9769e88d23459812361512a77afb47b..11085e48eaa68440663f84af26268647e89bbb00 100644 (file)
@@ -550,7 +550,7 @@ asmlinkage void do_single_step(unsigned long long vec, struct pt_regs *regs)
           continually stepping. */
        local_irq_enable();
        regs->sr &= ~SR_SSTEP;
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
 }
 
 /* Called with interrupts disabled */
@@ -561,7 +561,7 @@ BUILD_TRAP_HANDLER(breakpoint)
        /* We need to forward step the PC, to counteract the backstep done
           in signal.c. */
        local_irq_enable();
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
        regs->pc += 4;
 }
 
index 2a2121ba8ebe2eee55e479abbdc29878701e86b7..24473fa6c3b63954473ff0684061d07189569ea0 100644 (file)
@@ -176,7 +176,7 @@ asmlinkage int sys_sigreturn(void)
        return r0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -207,7 +207,7 @@ asmlinkage int sys_rt_sigreturn(void)
        return r0;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index f1f1598879c22828f94be08fb201d44fbb1d26d1..b9aaa9266b3452c03ecf521f0cbd8352c715f37b 100644 (file)
@@ -277,7 +277,7 @@ asmlinkage int sys_sigreturn(unsigned long r2, unsigned long r3,
        return (int) ret;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -311,7 +311,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long r2, unsigned long r3,
        return (int) ret;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 8b49cced663dc54a387144866811fa8f16929893..63cf17bc760da5143e571fb925ac76e558d403e2 100644 (file)
@@ -141,7 +141,7 @@ BUILD_TRAP_HANDLER(debug)
                       SIGTRAP) == NOTIFY_STOP)
                return;
 
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
 }
 
 /*
@@ -167,7 +167,7 @@ BUILD_TRAP_HANDLER(bug)
        }
 #endif
 
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
 }
 
 BUILD_TRAP_HANDLER(nmi)
index f2a18b5fafd824bb64abdef412f77b7615fe47fa..bd5568c8e7f0a1f78ce3bcc4f2c0c9543234419a 100644 (file)
@@ -611,7 +611,6 @@ asmlinkage void do_reserved_inst(void)
 {
        struct pt_regs *regs = current_pt_regs();
        unsigned long error_code;
-       struct task_struct *tsk = current;
 
 #ifdef CONFIG_SH_FPU_EMU
        unsigned short inst = 0;
@@ -633,7 +632,7 @@ asmlinkage void do_reserved_inst(void)
                /* Enable DSP mode, and restart instruction. */
                regs->sr |= SR_DSP;
                /* Save DSP mode */
-               tsk->thread.dsp_status.status |= SR_DSP;
+               current->thread.dsp_status.status |= SR_DSP;
                return;
        }
 #endif
@@ -641,7 +640,7 @@ asmlinkage void do_reserved_inst(void)
        error_code = lookup_exception_vector();
 
        local_irq_enable();
-       force_sig(SIGILL, tsk);
+       force_sig(SIGILL);
        die_if_no_fixup("reserved instruction", regs, error_code);
 }
 
@@ -697,7 +696,6 @@ asmlinkage void do_illegal_slot_inst(void)
 {
        struct pt_regs *regs = current_pt_regs();
        unsigned long inst;
-       struct task_struct *tsk = current;
 
        if (kprobe_handle_illslot(regs->pc) == 0)
                return;
@@ -716,7 +714,7 @@ asmlinkage void do_illegal_slot_inst(void)
        inst = lookup_exception_vector();
 
        local_irq_enable();
-       force_sig(SIGILL, tsk);
+       force_sig(SIGILL);
        die_if_no_fixup("illegal slot instruction", regs, inst);
 }
 
index 8ce90a7da67d9b4dd77850fee840dfc2cfa87844..37046f3a26d3594051175a707561ae81f165ec96 100644 (file)
@@ -599,7 +599,7 @@ static void do_unhandled_exception(int signr, char *str, unsigned long error,
                                   struct pt_regs *regs)
 {
        if (user_mode(regs))
-               force_sig(signr, current);
+               force_sig(signr);
 
        die_if_no_fixup(str, regs, error);
 }
index 59eaf6227af1d69462c577a7104c25f72521533b..c4bccd97f3cf7e4a034ad6a5cc0955b32cf890e5 100644 (file)
@@ -570,7 +570,7 @@ void fault_in_user_windows(struct pt_regs *regs)
 
 barf:
        set_thread_wsaved(window + 1);
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 asmlinkage long sparc_do_fork(unsigned long clone_flags,
index fb431d47a532ee32c2510ec1ac4d32fc64478133..a237810aa9f4fd04c0fac83831bf47350b0511b3 100644 (file)
@@ -170,7 +170,7 @@ void do_sigreturn32(struct pt_regs *regs)
        return;
 
 segv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 asmlinkage void do_rt_sigreturn32(struct pt_regs *regs)
@@ -256,7 +256,7 @@ asmlinkage void do_rt_sigreturn32(struct pt_regs *regs)
        set_current_blocked(&set);
        return;
 segv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 static void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize)
index 83953780ca016c4944e2284014c50eb661357aa4..42c3de313fd63bbdff8976a239cdf2d1a37db9f6 100644 (file)
@@ -137,7 +137,7 @@ asmlinkage void do_sigreturn(struct pt_regs *regs)
        return;
 
 segv_and_exit:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 asmlinkage void do_rt_sigreturn(struct pt_regs *regs)
@@ -196,7 +196,7 @@ asmlinkage void do_rt_sigreturn(struct pt_regs *regs)
        set_current_blocked(&set);
        return;
 segv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize)
index 9d50190cf312e091925fb85486859fa9fe481c5b..69ae814b7e900b58c5bc1422d1d4dac3992fc11e 100644 (file)
@@ -134,7 +134,7 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs)
        exception_exit(prev_state);
        return;
 do_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -228,7 +228,7 @@ asmlinkage void sparc64_get_context(struct pt_regs *regs)
        exception_exit(prev_state);
        return;
 do_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -320,7 +320,7 @@ void do_rt_sigreturn(struct pt_regs *regs)
        set_current_blocked(&set);
        return;
 segv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
 }
 
 static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize)
index 0cd02a64a4514a6d07c65d33c685a92db1cbfdbe..12bfc7e215ca2f5473714cc45d5d34cc4877c7a3 100644 (file)
@@ -2181,7 +2181,7 @@ bool sun4v_nonresum_error_user_handled(struct pt_regs *regs,
                                addr += PAGE_SIZE;
                        }
                }
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
 
                return true;
        }
index b0440b0edd97b4af739c6aa53d49402bc8de2656..2731faf415ba46430a9f9fe3b745cf5c505d7b48 100644 (file)
@@ -425,7 +425,7 @@ static void force_user_fault(unsigned long address, int write)
 static void check_stack_aligned(unsigned long sp)
 {
        if (sp & 0x7UL)
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
 }
 
 void window_overflow_fault(void)
index a43d42bf0a8640f13c39a9d61ca771103d93faab..783b9247161f3bfa2e684170864345d7e07909cd 100644 (file)
@@ -32,7 +32,7 @@ void flush_thread(void)
        if (ret) {
                printk(KERN_ERR "flush_thread - clearing address space failed, "
                       "err = %d\n", ret);
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
        }
        get_safe_registers(current_pt_regs()->regs.gp,
                           current_pt_regs()->regs.fp);
index 8347161c2ae0fb0557dd7c008671d5d95c7c720a..45f739bf302f7e622330aa52b734288014b8085e 100644 (file)
@@ -329,7 +329,7 @@ void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
                       "process: %d\n", task_tgid_vnr(current));
                /* We are under mmap_sem, release it such that current can terminate */
                up_write(&current->mm->mmap_sem);
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
                do_signal(&current->thread.regs);
        }
 }
@@ -487,7 +487,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long address)
 
 kill:
        printk(KERN_ERR "Failed to flush page for address 0x%lx\n", address);
-       force_sig(SIGKILL, current);
+       force_sig(SIGKILL);
 }
 
 pgd_t *pgd_offset_proc(struct mm_struct *mm, unsigned long address)
index 646059402ab31d5d4efad217c0998c4a13d864bc..1c943c66063f45c54f93264450a51cd506d4a57c 100644 (file)
@@ -309,7 +309,7 @@ void relay_signal(int sig, struct siginfo *si, struct uml_pt_regs *regs)
        } else {
                printk(KERN_ERR "Attempted to relay unknown signal %d (si_code = %d) with errno %d\n",
                       sig, code, err);
-               force_sig(sig, current);
+               force_sig(sig);
        }
 }
 
index 75f27dc68bd095c9d229a26bdfc7b2c3a9dda797..070fa58d23a9a6a492144f6d3f636b98203d6a33 100644 (file)
@@ -129,7 +129,7 @@ asmlinkage int __sys_rt_sigreturn(struct pt_regs *regs)
        return regs->UCreg_00;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index d9d81ad7a4009aac0bfb37cd0345366a5d206164..7ea87f4ad0b7561db4d82e63ab81ac89c6995435 100644 (file)
@@ -268,7 +268,7 @@ bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
        return true;
 
 sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return true;
 }
 
index 5112a50e6486fdd4c96083375e6e919591bab90b..e11ac124dd3727dab7432022b4cabb42c591be04 100644 (file)
@@ -1329,7 +1329,7 @@ void do_machine_check(struct pt_regs *regs, long error_code)
                local_irq_enable();
 
                if (kill_it || do_memory_failure(&m))
-                       force_sig(SIGBUS, current);
+                       force_sig(SIGBUS);
                local_irq_disable();
                ist_end_non_atomic();
        } else {
index 364813cea6476113d888ddd8a9ca428c55c3b955..7cf508f78c8cc2e5b5557c7acabeab73760e6237 100644 (file)
@@ -857,7 +857,7 @@ void signal_fault(struct pt_regs *regs, void __user *frame, char *where)
                pr_cont("\n");
        }
 
-       force_sig(SIGSEGV, me);
+       force_sig(SIGSEGV);
 }
 
 #ifdef CONFIG_X86_X32_ABI
index 8b6d03e55d2f79888c0aa9740c51bc486d8fa05f..e54f0cad4b2e7241148d494dd88e3d5cde644511 100644 (file)
@@ -254,7 +254,7 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
        show_signal(tsk, signr, "trap ", str, regs, error_code);
 
        if (!sicode)
-               force_sig(signr, tsk);
+               force_sig(signr);
        else
                force_sig_fault(signr, sicode, addr, tsk);
 }
@@ -566,7 +566,7 @@ do_general_protection(struct pt_regs *regs, long error_code)
 
        show_signal(tsk, SIGSEGV, "", desc, regs, error_code);
 
-       force_sig(SIGSEGV, tsk);
+       force_sig(SIGSEGV);
 }
 NOKPROBE_SYMBOL(do_general_protection);
 
index ccf03416e434228a35ec9651b48a9524d6dab1c4..18239d5a8b53a53773ceae569c5b3c73b4a815a6 100644 (file)
@@ -1087,7 +1087,7 @@ arch_uretprobe_hijack_return_addr(unsigned long trampoline_vaddr, struct pt_regs
                pr_err("return address clobbered: pid=%d, %%sp=%#lx, %%ip=%#lx\n",
                       current->pid, regs->sp, regs->ip);
 
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
        }
 
        return -1;
index 6a38717d179c4bbb35d39badb2fa2ee53d9ee71e..a76c12b38e925a378cab92dba4ca5638dcf29645 100644 (file)
@@ -583,7 +583,7 @@ int handle_vm86_trap(struct kernel_vm86_regs *regs, long error_code, int trapno)
                return 1; /* we let this handle by the calling routine */
        current->thread.trap_nr = trapno;
        current->thread.error_code = error_code;
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
        return 0;
 }
 
index 0d1c47cbbdd68b3a969f6cd1ac347251f0812e78..895fb7a9294d4fa3a2c404fff42544f5710245c5 100644 (file)
@@ -912,7 +912,7 @@ void mpx_notify_unmap(struct mm_struct *mm, unsigned long start,
 
        ret = mpx_unmap_tables(mm, start, end);
        if (ret)
-               force_sig(SIGSEGV, current);
+               force_sig(SIGSEGV);
 }
 
 /* MPX cannot handle addresses above 47 bits yet. */
index 8b4a71efe7eef1c71e778bf17ff1929c6d68b0a8..7c11c9e5d7eaab730720847a8fe556716858068e 100644 (file)
@@ -471,7 +471,7 @@ long sys_sigreturn(void)
        return PT_REGS_SYSCALL_RET(&current->thread.regs);
 
  segfault:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
@@ -577,6 +577,6 @@ long sys_rt_sigreturn(void)
        return PT_REGS_SYSCALL_RET(&current->thread.regs);
 
  segfault:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
index dc22a238ed9c18d59f8d2721cc1fab16b41bfdae..fbedf2aba09dcb69d4e60df107cce1d7dea8daab 100644 (file)
@@ -270,7 +270,7 @@ asmlinkage long xtensa_rt_sigreturn(long a0, long a1, long a2, long a3,
        return ret;
 
 badframe:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        return 0;
 }
 
index 454d53096bc996b174d322967fa78c3ec0cc9d7f..6f26b254091bc1f241ef21fd05461fe89a96c06f 100644 (file)
@@ -184,7 +184,7 @@ void do_unhandled(struct pt_regs *regs, unsigned long exccause)
                            "\tEXCCAUSE is %ld\n",
                            current->comm, task_pid_nr(current), regs->pc,
                            exccause);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 /*
@@ -306,7 +306,7 @@ do_illegal_instruction(struct pt_regs *regs)
 
        pr_info_ratelimited("Illegal Instruction in '%s' (pid = %d, pc = %#010lx)\n",
                            current->comm, task_pid_nr(current), regs->pc);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 
@@ -354,7 +354,7 @@ do_debug(struct pt_regs *regs)
 
        /* If in user mode, send SIGTRAP signal to current process */
 
-       force_sig(SIGTRAP, current);
+       force_sig(SIGTRAP);
 }
 
 
index 7eebbdfbcacd0a51aef6f1d0c70e794b45ac3c03..86556adb14824a22cce8db165ba3f5c2bc3c59dc 100644 (file)
@@ -225,7 +225,7 @@ void lkdtm_CORRUPT_USER_DS(void)
        set_fs(KERNEL_DS);
 
        /* Make sure we do not keep running with a KERNEL_DS! */
-       force_sig(SIGKILL, current);
+       force_sig(SIGKILL);
 }
 
 /* Test that VMAP_STACK is actually allocating with a leading guard page */
index 8af3101da782ec2bcc798d986bb5c4a79ab95ed8..e9df3f0cce4817a9cfe8508bf1dc0651031dd623 100644 (file)
@@ -335,7 +335,7 @@ extern int kill_pgrp(struct pid *pid, int sig, int priv);
 extern int kill_pid(struct pid *pid, int sig, int priv);
 extern __must_check bool do_notify_parent(struct task_struct *, int);
 extern void __wake_up_parent(struct task_struct *p, struct task_struct *parent);
-extern void force_sig(int, struct task_struct *);
+extern void force_sig(int);
 extern int send_sig(int, struct task_struct *, int);
 extern int zap_other_threads(struct task_struct *p);
 extern struct sigqueue *sigqueue_alloc(void);
index e2870fe1be5b7f7b4d0fd8fbd258c0fc5bc3b1a5..fd6e0f5ebfdf18934bad74c1954245dc5a2d3da4 100644 (file)
@@ -266,7 +266,7 @@ static inline void addr_limit_user_check(void)
 
        if (CHECK_DATA_CORRUPTION(!segment_eq(get_fs(), USER_DS),
                                  "Invalid address limit on user-mode return"))
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
 
 #ifdef TIF_FSCHECK
        clear_thread_flag(TIF_FSCHECK);
index 78f61bfc6b7976128d623a7915c5a394620b0bbd..359122185cfbf84a271a8116c6a1ea31c6dcae2c 100644 (file)
@@ -2112,7 +2112,7 @@ static void handle_trampoline(struct pt_regs *regs)
 
  sigill:
        uprobe_warn(current, "handle uretprobe, sending SIGILL.");
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 
 }
 
@@ -2228,7 +2228,7 @@ static void handle_singlestep(struct uprobe_task *utask, struct pt_regs *regs)
 
        if (unlikely(err)) {
                uprobe_warn(current, "execute the probed insn, sending SIGILL.");
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
        }
 }
 
index e1aa3ebee2917c8830de0f7fd42040177e64408b..27c48eb7de4025f94653c86878652ad57e660427 100644 (file)
@@ -296,7 +296,7 @@ void rseq_syscall(struct pt_regs *regs)
                return;
        if (!access_ok(t->rseq, sizeof(*t->rseq)) ||
            rseq_get_rseq_cs(t, &rseq_cs) || in_rseq_cs(ip, &rseq_cs))
-               force_sig(SIGSEGV, t);
+               force_sig(SIGSEGV);
 }
 
 #endif
index f7669d240ce41067aac39072ac0aee683b80a2a2..20878c4c28c24a45f61130b1820a5380c6cbca19 100644 (file)
@@ -1595,9 +1595,9 @@ send_sig(int sig, struct task_struct *p, int priv)
 }
 EXPORT_SYMBOL(send_sig);
 
-void force_sig(int sig, struct task_struct *p)
+void force_sig(int sig)
 {
-       force_sig_info(sig, SEND_SIG_PRIV, p);
+       force_sig_info(sig, SEND_SIG_PRIV, current);
 }
 EXPORT_SYMBOL(force_sig);
 
@@ -1617,7 +1617,7 @@ void force_sigsegv(int sig)
                p->sighand->action[sig - 1].sa.sa_handler = SIG_DFL;
                spin_unlock_irqrestore(&p->sighand->siglock, flags);
        }
-       force_sig(SIGSEGV, p);
+       force_sig(SIGSEGV);
 }
 
 int force_sig_fault(int sig, int code, void __user *addr
index cecd38e2ac805ceee48feb12633199d8185e89db..06d4259f9ab1d5f2cbeaedd160ea56be8e8b7988 100644 (file)
@@ -111,7 +111,7 @@ static int check_uid_transition(kuid_t parent, kuid_t child)
         * that could arise from a missing whitelist entry preventing a
         * privileged process from dropping to a lesser-privileged one.
         */
-       force_sig(SIGKILL, current);
+       force_sig(SIGKILL);
        return -EACCES;
 }
 
@@ -203,7 +203,7 @@ static int safesetid_task_fix_setuid(struct cred *new,
                break;
        default:
                pr_warn("Unknown setid state %d\n", flags);
-               force_sig(SIGKILL, current);
+               force_sig(SIGKILL);
                return -EINVAL;
        }
        return 0;