Re: [PATCH] fix exit_itimers() vs posix_timer_event() AB-BAdeadlock

From: Andrew Morton
Date: Sun Sep 25 2005 - 00:49:25 EST


Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> + /*
> + * We are locking ->it_lock + tasklist_lock backwards
> + * from release_task()->exit_itimers(), beware deadlock.
> + */
> + leader = timr->it_process->group_leader;
> + while (unlikely(!read_trylock(&tasklist_lock))) {
> + if (leader->flags & PF_EXITING) {
> + smp_rmb();
> + if (thread_group_empty(leader))
> + return 0;
> + }
> + cpu_relax();
> + }

Oh dear. Is there no way to fix this up by taking the locks in the correct
order? (Whatever that is).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/