In function utrace_add_engine is a missing else while verifying if
utrace_release_task was already called, which can lead to adding to a
reaping utrace engine.

Signed-off-by: Veaceslav Falico <vfal...@redhat.com>
---
diff --git a/kernel/utrace.c b/kernel/utrace.c
index 906145e..8fc1867 100644
--- a/kernel/utrace.c
+++ b/kernel/utrace.c
@@ -153,7 +153,7 @@ static int utrace_add_engine(struct task_struct *target,
                 * Already entered utrace_release_task(), cannot attach now.
                 */
                ret = -ESRCH;
-       } if ((flags & UTRACE_ATTACH_EXCLUSIVE) &&
+       } else if ((flags & UTRACE_ATTACH_EXCLUSIVE) &&
            unlikely(matching_engine(utrace, flags, ops, data))) {
                ret = -EEXIST;
        } else {


Reply via email to