An error occurred while fetching folder content.
signal/pid_namespace: Fix reboot_pid_ns to use send_sig not force_sig
Eric W. Biederman authored
commit f9070dc9 upstream.

The locking in force_sig_info is not prepared to deal with a task that
exits or execs (as sighand may change).  The is not a locking problem
in force_sig as force_sig is only built to handle synchronous
exceptions.

Further the function force_sig_info changes the signal state if the
signal is ignored, or blocked or if SIGNAL_UNKILLABLE will prevent the
delivery of the signal.  The signal SIGKILL can not be ignored and can
not be blocked and SIGNAL_UNKILLABLE won't prevent it from being
delivered.

So using force_sig rather than send_sig for SIGKILL is confusing
and pointless.

Because it won't impact the sending of the signal and and because
using force_sig is wrong, replace force_sig with send_sig.

Cc: Daniel Lezcano <daniel.lezcano@free.fr>
Cc: Serge Hallyn <serge@hallyn.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Fixes: cf3f8921

 ("pidns: add reboot_pid_ns() to handle the reboot syscall")
Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
73a9a357
Name Last commit Last update
..
debug kdb: do a sanity check on the cpu in kdb_per_cpu()
events perf/ioctl: Add check for the sample_period value
gcov gcov: support GCC 7.1
irq genirq: Fix race on spurious interrupt detection
locking lockdep: teach lockdep about memalloc_noio_save
power PM / wakeup: Only update last time for active wakeup sources
printk printk: Fix panic caused by passing log_buf_len to command line
rcu rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
sched sched/numa: Fix a possible divide-by-zero
time ntp: Allow TAI-UTC offset to be set to zero
trace tracing/snapshot: Resize spare buffer if size changed
.gitignore Ignore generated file kernel/x509_certificate_list
Kconfig.freezer container freezer: implement freezer cgroup subsystem
Kconfig.hz kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS
Kconfig.locks locking/rwsem: Add CONFIG_RWSEM_SPIN_ON_OWNER
Kconfig.preempt locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage
Makefile Merge branch 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
acct.c kernel/acct.c: fix the acct->needcheck check in check_free_space()
async.c kernel/async.c: revert "async: simplify lowest_in_progress()"
audit.c audit: use supplied gfp_mask from audit_buffer in kauditd_send_multicast_skb
audit.h audit: Use struct net not pid_t to remember the network namespce to reply in
audit_tree.c audit: keep inode pinned
audit_watch.c audit: Fix use after free in audit_remove_watch_rule()
auditfilter.c audit: restore AUDIT_LOGINUID unset ABI
auditsc.c audit: Fix extended comparison of GID/EGID
backtracetest.c
bounds.c
capability.c
cgroup.c
cgroup_freezer.c
compat.c
configs.c
context_tracking.c
cpu.c
cpu_pm.c
cpuset.c
crash_dump.c
cred.c
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
extable.c
fork.c
freezer.c
futex.c
futex_compat.c
groups.c
hrtimer.c
hung_task.c
irq_work.c
itimer.c
jump_label.c
kallsyms.c
kcmp.c
kexec.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
latencytop.c
module-internal.h
module.c
module_signing.c
notifier.c
nsproxy.c
padata.c
panic.c
params.c
pid.c
pid_namespace.c
posix-cpu-timers.c
posix-timers.c
profile.c
ptrace.c
range.c
reboot.c
relay.c
res_counter.c
resource.c
seccomp.c
signal.c
smp.c
smpboot.c
smpboot.h
softirq.c
stacktrace.c
stop_machine.c
sys.c
sys_ni.c
sysctl.c
sysctl_binary.c
system_certificates.S
system_keyring.c
task_work.c
taskstats.c
test_kprobes.c
time.c
timeconst.bc