Re: yama_ptrace_access_check(): possible recursive locking detected

Oleg Nesterov
2012-07-26T15:44:37Z

On 07/26, Fengguang Wu wrote:
>
> Here is a recursive lock possibility:
>
> ptrace_may_access()
> => task_lock(task);
> yama_ptrace_access_check()
> get_task_comm()
> => task_lock(task);

I think yama_ptrace_access_check() can simply use ->comm

Oleg.

--- x/security/yama/yama_lsm.c
+++ x/security/yama/yama_lsm.c
@@ -279,12 +279,9 @@ static int yama_ptrace_access_check(stru
}

if (rc) {
- char name[sizeof(current->comm)];
printk_ratelimited(KERN_NOTICE
"ptrace of pid %d was attempted by: %s (pid %d)\n",
- child->pid,
- get_task_comm(name, current),
- current->pid);
+ child->pid, current->comm, current->pid);
}

return rc;