audit: get comm using lock to avoid race in string printing
authorRichard Guy Briggs <rgb@redhat.com>
Sat, 15 Mar 2014 22:42:34 +0000 (18:42 -0400)
committerEric Paris <eparis@redhat.com>
Tue, 23 Sep 2014 20:37:56 +0000 (16:37 -0400)
commit9eab339b197a6903043d272295dcb716ff739b21
tree4f8c204a04b59bc20e679f84f1d6b28f79fcce2c
parentf874738e8c178b19479f7b143211a1df00367988
audit: get comm using lock to avoid race in string printing

When task->comm is passed directly to audit_log_untrustedstring() without
getting a copy or using the task_lock, there is a race that could happen that
would output a NULL (\0) in the output string that would effectively truncate
the rest of the report text after the comm= field in the audit, losing fields.

Use get_task_comm() to get a copy while acquiring the task_lock to prevent
this and to prevent the result from being a mixture of old and new values of
comm.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
kernel/audit.c
kernel/auditsc.c