[PATCH] pacct: avoidance to refer the last thread as a representation of the process
authorKaiGai Kohei <kaigai@ak.jp.nec.com>
Sun, 25 Jun 2006 12:49:25 +0000 (05:49 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 25 Jun 2006 17:01:25 +0000 (10:01 -0700)
commitf6ec29a42d7ac3b309a9cef179b686d23986ab98
tree5150d4f403833ac18b468bd0e0e0a9a7cdd9f4be
parent0e4648141af02331f21aabcd34940c70f09a2d04
[PATCH] pacct: avoidance to refer the last thread as a representation of the process

When pacct facility generate an 'ac_flag' field in accounting record, it
refers a task_struct of the thread which died last in the process.  But any
other task_structs are ignored.

Therefore, pacct facility drops ASU flag even if root-privilege operations are
used by any other threads except the last one.  In addition, AFORK flag is
always set when the thread of group-leader didn't die last, although this
process has called execve() after fork().

We have a same matter in ac_exitcode.  The recorded ac_exitcode is an exit
code of the last thread in the process.  There is a possibility this exitcode
is not the group leader's one.
include/linux/acct.h
include/linux/sched.h
kernel/acct.c
kernel/exit.c