Linus Torvalds f358166a94 ptrace_attach: fix possible deadlock schenario with irqs
Eric Biederman points out that we can't take the task_lock while holding
tasklist_lock for writing, because another CPU that holds the task lock
might take an interrupt that then tries to take tasklist_lock for writing.

Which would be a nasty deadlock, with one CPU spinning forever in an
interrupt handler (although admittedly you need to really work at
triggering it ;)

Since the ptrace_attach() code is special and very unusual, just make it
be extra careful, and use trylock+repeat to avoid the possible deadlock.

Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-05-11 11:08:49 -07:00
..
2006-05-01 06:10:01 -04:00
2006-05-01 06:10:07 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-03-26 08:57:03 -08:00
2005-10-30 17:37:32 -08:00
2006-01-11 18:42:13 -08:00
2005-10-08 15:00:57 -07:00
2006-01-09 15:59:19 -08:00
2005-04-16 15:20:36 -07:00
2006-03-31 12:18:59 -08:00
2006-04-01 01:41:22 +02:00
2006-04-19 16:27:18 -07:00
2006-03-24 07:33:20 -08:00
2005-04-16 15:20:36 -07:00