Mathieu Desnoyers
f144e7c727
[POWERPC] Fix atomicity of TIF update in flush_thread()
...
Fix atomicity of TIF update in flush_thread() for powerpc
Fixes it correctly with *_ti_thread_flag.
Race :
parent process executing :
sys_ptrace()
(lock_kernel())
(ptrace_get_task_struct(pid))
arch_ptrace()
ptrace_detach()
ptrace_disable(child);
clear_singlestep(child);
clear_tsk_thread_flag(child, TIF_SINGLESTEP);
(which clears the TIF_SINGLESTEP flag atomically from a different
process)
(put_task_struct(child))
(unlock_kernel())
And at the same time, in the child process :
sys_execve()
do_execve()
search_binary_handler()
load_elf_binary()
flush_old_exec()
flush_thread()
doing a non-atomic thread flag update
Applies on 2.6.20.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-16 16:37:28 +11:00
..
2006-10-25 11:54:07 +10:00
2006-10-25 11:54:18 +10:00
2006-06-09 21:24:15 +10:00
2007-01-09 17:03:02 +11:00
2006-09-11 13:32:30 -04:00
2006-06-30 19:25:36 +02:00
2007-02-14 11:55:16 +11:00
2006-09-11 13:32:30 -04:00
2006-06-30 19:25:36 +02:00
2007-02-07 14:03:22 +11:00
2006-10-16 16:32:25 +10:00
2007-03-08 04:09:32 +11:00
2006-08-08 17:07:04 +10:00
2006-12-07 08:39:46 -08:00
2006-12-04 20:38:59 +11:00
2006-06-30 19:25:36 +02:00
2007-02-07 14:03:23 +11:00
2006-06-30 19:25:36 +02:00
2006-08-30 14:45:35 +10:00
2006-06-30 19:25:36 +02:00
2006-06-30 19:25:36 +02:00
2007-01-24 21:13:58 +11:00
2007-02-13 14:59:52 +11:00
2007-02-07 14:03:23 +11:00
2006-02-10 16:51:50 +11:00
2007-02-13 16:13:27 -06:00
2006-12-04 20:42:09 +11:00
2006-06-30 19:25:36 +02:00
2006-10-16 16:31:36 +10:00
2007-02-14 08:09:59 -08:00
2006-10-02 07:57:20 -07:00
2006-12-04 20:39:05 +11:00
2007-01-26 01:52:27 -06:00
2006-12-04 20:38:40 +11:00
2007-03-05 07:57:50 -08:00
2007-02-06 22:55:19 -06:00
2006-06-30 19:25:36 +02:00
2007-02-14 11:50:04 +11:00
2007-02-12 09:48:44 -08:00
2006-01-09 15:06:06 +11:00
2006-06-26 18:57:34 +02:00
2006-08-25 14:56:07 +10:00
2006-08-17 16:41:10 +10:00
2007-02-07 14:03:22 +11:00
2006-10-25 11:42:10 +10:00
2007-02-07 14:03:22 +11:00
2006-09-20 14:06:18 +10:00
2007-01-24 21:13:58 +11:00
2006-12-11 16:35:07 +11:00
2007-02-12 09:48:44 -08:00
2006-12-08 02:23:07 -06:00
2006-12-19 15:35:40 +01:00
2006-08-08 17:08:56 +10:00
2007-01-24 21:13:57 +11:00
2007-02-08 10:04:20 -08:00
2006-07-31 15:55:04 +10:00
2007-02-07 14:03:19 +11:00
2005-11-03 16:03:28 +11:00
2007-02-07 14:03:23 +11:00
2007-02-12 09:48:44 -08:00
2007-03-16 16:37:28 +11:00
2007-02-13 15:35:53 +11:00
2007-03-08 04:09:33 +11:00
2007-02-16 14:00:20 +11:00
2006-06-30 19:25:36 +02:00
2006-06-30 19:25:36 +02:00
2007-01-24 21:13:58 +11:00
2007-02-12 09:48:44 -08:00
2006-12-04 20:39:05 +11:00
2007-02-12 09:48:44 -08:00
2006-06-09 21:21:06 +10:00
2007-02-17 20:11:19 +01:00
2005-09-26 16:04:21 +10:00
2007-02-14 11:55:16 +11:00
2006-12-04 20:40:16 +11:00
2006-10-04 14:52:22 +10:00
2006-05-19 15:02:12 +10:00
2006-12-20 16:37:49 +11:00
2006-06-30 19:25:36 +02:00
2006-12-04 20:42:09 +11:00
2007-02-14 11:50:04 +11:00
2006-09-26 08:49:01 -07:00
2007-02-11 10:51:32 -08:00
2006-10-02 07:57:21 -07:00
2007-02-07 14:03:19 +11:00
2006-06-30 19:25:36 +02:00
2006-06-30 19:25:36 +02:00
2006-12-04 20:39:15 +11:00
2007-02-20 09:26:53 +00:00
2007-03-14 15:27:50 -07:00
2007-02-14 11:55:16 +11:00
2007-02-13 15:35:52 +11:00
2006-06-30 19:25:36 +02:00
2007-01-24 21:13:57 +11:00
2007-02-11 10:51:25 -08:00