You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Oleg Nesterov
834d216e1f
signalfd: fix interaction with posix-timers
...
dequeue_signal:
if (__SI_TIMER) {
spin_unlock(&tsk->sighand->siglock);
do_schedule_next_timer(info);
spin_lock(&tsk->sighand->siglock);
}
Unless tsk == curent, this is absolutely unsafe: nothing prevents tsk from
exiting. If signalfd was passed to another process, do_schedule_next_timer()
is just wrong.
Add yet another "tsk == current" check into dequeue_signal().
This patch fixes an oopsable bug, but breaks the scheduling of posix timers
if the shared __SI_TIMER signal was fetched via signalfd attached to another
sub-thread. Mostly fixed by the next patch.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Davide Libenzi <davidel@xmailserver.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Cc: Roland McGrath <roland@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago
..
irq
free_irq(): fix DEBUG_SHIRQ handling
18 years ago
power
Hibernation: do not try to mark invalid PFNs as nosave
18 years ago
time
timer: remove clockevents_unregister_notifier
18 years ago
.gitignore
…
Kconfig.hz
…
Kconfig.preempt
[PATCH] sched: arch preempt notifier mechanism
18 years ago
Makefile
…
acct.c
Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time().
18 years ago
audit.c
…
audit.h
…
auditfilter.c
[PATCH] allow audit filtering on bit & operations
18 years ago
auditsc.c
kernel/auditsc.c: fix an off-by-one
18 years ago
capability.c
…
compat.c
…
configs.c
…
cpu.c
…
cpuset.c
usermodehelper: Tidy up waiting
18 years ago
delayacct.c
…
die_notifier.c
…
dma.c
…
exec_domain.c
…
exit.c
Kill some obsolete sub-thread-ptrace stuff
18 years ago
extable.c
…
fork.c
mm: Remove slab destructors from kmem_cache_create().
18 years ago
futex.c
futex_unlock_pi() hurts my brain and may cause application deadlock
18 years ago
futex_compat.c
…
hrtimer.c
Cache xtime every call to update_wall_time
18 years ago
itimer.c
…
kallsyms.c
…
kexec.c
…
kfifo.c
…
kmod.c
kernel-doc fix for kmod.c
18 years ago
kprobes.c
fix compilation with gcc 4.2
18 years ago
ksysfs.c
FRV: Fix linkage problems
18 years ago
kthread.c
kthread: silence bogus section mismatch warning
18 years ago
latency.c
…
lockdep.c
lockdep debugging: give stacktrace for init_error
18 years ago
lockdep_internals.h
…
lockdep_proc.c
Fix leak on /proc/lockdep_stats
18 years ago
module.c
…
mutex-debug.c
…
mutex-debug.h
…
mutex.c
lockstat: measure lock bouncing
18 years ago
mutex.h
…
nsproxy.c
mm: Remove slab destructors from kmem_cache_create().
18 years ago
panic.c
…
params.c
modules: better error messages when modules fail to load due to a sysfs problem.
18 years ago
pid.c
…
posix-cpu-timers.c
…
posix-timers.c
posix-timers: fix creation race
18 years ago
printk.c
fix - ensure we don't use bootconsoles after init has been released
18 years ago
profile.c
fix compilation with gcc 4.2
18 years ago
ptrace.c
coredump masking: reimplementation of dumpable using two flags
18 years ago
rcupdate.c
…
rcutorture.c
…
relay.c
Fix a use after free bug in kernel->userspace relay file support
18 years ago
resource.c
…
rtmutex-debug.c
…
rtmutex-debug.h
…
rtmutex-tester.c
…
rtmutex.c
…
rtmutex.h
…
rtmutex_common.h
…
rwsem.c
lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex
18 years ago
sched.c
sched: run_rebalance_domains: s/SCHED_IDLE/CPU_IDLE/
18 years ago
sched_debug.c
sched debug: dont print kernel address in /proc/sched_debug
18 years ago
sched_fair.c
sched: fix sleeper bonus
18 years ago
sched_idletask.c
sched: remove the 'u64 now' parameter from ->put_prev_task()
18 years ago
sched_rt.c
sched: remove the 'u64 now' parameter from ->put_prev_task()
18 years ago
sched_stats.h
[PATCH] sched: add schedstat_set() API
18 years ago
seccomp.c
…
signal.c
signalfd: fix interaction with posix-timers
18 years ago
softirq.c
…
softlockup.c
…
spinlock.c
lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex
18 years ago
srcu.c
…
stacktrace.c
…
stop_machine.c
…
sys.c
Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION
18 years ago
sys_ni.c
…
sysctl.c
Remove double inclusion of linux/capability.h
18 years ago
taskstats.c
…
time.c
Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time().
18 years ago
timer.c
Pull ia64-clocksource into release branch
18 years ago
tsacct.c
Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time().
18 years ago
uid16.c
…
user.c
mm: Remove slab destructors from kmem_cache_create().
18 years ago
user_namespace.c
…
utsname.c
…
utsname_sysctl.c
…
wait.c
…
workqueue.c
…