Yama: use atomic allocations when reporting
authorSasha Levin <sasha.levin@oracle.com>
Wed, 4 May 2016 14:18:15 +0000 (10:18 -0400)
committerKees Cook <keescook@chromium.org>
Wed, 4 May 2016 17:54:05 +0000 (10:54 -0700)
Access reporting often happens from atomic contexes. Avoid
lockups when allocating memory for command lines.

Fixes: 8a56038c2ae ("Yama: consolidate error reporting")
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
security/yama/yama_lsm.c

index c19f6e5..9b756b1 100644 (file)
@@ -47,8 +47,8 @@ static void report_access(const char *access, struct task_struct *target,
 {
        char *target_cmd, *agent_cmd;
 
-       target_cmd = kstrdup_quotable_cmdline(target, GFP_KERNEL);
-       agent_cmd = kstrdup_quotable_cmdline(agent, GFP_KERNEL);
+       target_cmd = kstrdup_quotable_cmdline(target, GFP_ATOMIC);
+       agent_cmd = kstrdup_quotable_cmdline(agent, GFP_ATOMIC);
 
        pr_notice_ratelimited(
                "ptrace %s of \"%s\"[%d] was attempted by \"%s\"[%d]\n",