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,

Reply via email to