mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
[PATCH] arm_timer: remove a racy and obsolete PF_EXITING check
arm_timer() checks PF_EXITING to prevent BUG_ON(->exit_state) in run_posix_cpu_timers(). However, for some reason it does so only for CPUCLOCK_PERTHREAD case (which is imho wrong). Also, this check is not reliable, PF_EXITING could be set on another cpu without any locks/barriers just after the check, so it can't prevent from attaching the timer to the exiting task. The previous patch makes this check unneeded. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
30f1e3dd8c
commit
f53ae1dc34
@ -555,9 +555,6 @@ static void arm_timer(struct k_itimer *timer, union cpu_time_count now)
|
||||
struct cpu_timer_list *next;
|
||||
unsigned long i;
|
||||
|
||||
if (CPUCLOCK_PERTHREAD(timer->it_clock) && (p->flags & PF_EXITING))
|
||||
return;
|
||||
|
||||
head = (CPUCLOCK_PERTHREAD(timer->it_clock) ?
|
||||
p->cpu_timers : p->signal->cpu_timers);
|
||||
head += CPUCLOCK_WHICH(timer->it_clock);
|
||||
|
Loading…
Reference in New Issue
Block a user