aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/signal.c')
-rw-r--r--kernel/signal.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index a805c7417cd0..2c1f08defac2 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1018,7 +1018,7 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p)
1018} 1018}
1019 1019
1020/* 1020/*
1021 * kill_pgrp_info() sends a signal to a process group: this is what the tty 1021 * __kill_pgrp_info() sends a signal to a process group: this is what the tty
1022 * control characters do (^C, ^Z etc) 1022 * control characters do (^C, ^Z etc)
1023 */ 1023 */
1024 1024
@@ -1037,17 +1037,6 @@ int __kill_pgrp_info(int sig, struct siginfo *info, struct pid *pgrp)
1037 return success ? 0 : retval; 1037 return success ? 0 : retval;
1038} 1038}
1039 1039
1040int kill_pgrp_info(int sig, struct siginfo *info, struct pid *pgrp)
1041{
1042 int retval;
1043
1044 read_lock(&tasklist_lock);
1045 retval = __kill_pgrp_info(sig, info, pgrp);
1046 read_unlock(&tasklist_lock);
1047
1048 return retval;
1049}
1050
1051int kill_pid_info(int sig, struct siginfo *info, struct pid *pid) 1040int kill_pid_info(int sig, struct siginfo *info, struct pid *pid)
1052{ 1041{
1053 int error = -ESRCH; 1042 int error = -ESRCH;
@@ -1236,7 +1225,13 @@ force_sigsegv(int sig, struct task_struct *p)
1236 1225
1237int kill_pgrp(struct pid *pid, int sig, int priv) 1226int kill_pgrp(struct pid *pid, int sig, int priv)
1238{ 1227{
1239 return kill_pgrp_info(sig, __si_special(priv), pid); 1228 int ret;
1229
1230 read_lock(&tasklist_lock);
1231 ret = __kill_pgrp_info(sig, __si_special(priv), pid);
1232 read_unlock(&tasklist_lock);
1233
1234 return ret;
1240} 1235}
1241EXPORT_SYMBOL(kill_pgrp); 1236EXPORT_SYMBOL(kill_pgrp);
1242 1237