More than one user has hit the -EEXIST problem when using utrace_attach_task and UTRACE_ATTACH_EXCLUSIVE without UTRACE_ATTACH_MATCH_DATA|_OPS. Document that a bit more.
Signed-off-by: Ananth N Mavinakayanahalli <ana...@in.ibm.com> --- kernel/utrace.c | 4 ++++ 1 file changed, 4 insertions(+) Index: utrace-28apr/kernel/utrace.c =================================================================== --- utrace-28apr.orig/kernel/utrace.c +++ utrace-28apr/kernel/utrace.c @@ -214,6 +214,10 @@ static int utrace_add_engine(struct task * * UTRACE_ATTACH_MATCH_OPS: Only consider engines matching @ops. * UTRACE_ATTACH_MATCH_DATA: Only consider engines matching @data. + * + * Using UTRACE_ATTACH_EXCLUSIVE without either of UTRACE_ATTACH_MATCH_OPS + * or UTRACE_ATTACH_MATCH_DATA will result in a match for any existing + * engine for the task, causing an -%EEXIST return. */ struct utrace_engine *utrace_attach_task( struct task_struct *target, int flags,