Commit 4b731d50 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Linus Torvalds

bsdacct: fix uid/gid misreporting

commit d8e180dc "bsdacct: switch
credentials for writing to the accounting file" introduced credential
switching during final acct data collecting.  However, uid/gid pair
continued to be collected from current which became credentials of who
created acct file, not who exits.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14676Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Reported-by: default avatarJuho K. Juopperi <jkj@kapsi.fi>
Acked-by: default avatarSerge Hallyn <serue@us.ibm.com>
Acked-by: default avatarDavid Howells <dhowells@redhat.com>
Reviewed-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 54430407
...@@ -536,7 +536,8 @@ static void do_acct_process(struct bsd_acct_struct *acct, ...@@ -536,7 +536,8 @@ static void do_acct_process(struct bsd_acct_struct *acct,
do_div(elapsed, AHZ); do_div(elapsed, AHZ);
ac.ac_btime = get_seconds() - elapsed; ac.ac_btime = get_seconds() - elapsed;
/* we really need to bite the bullet and change layout */ /* we really need to bite the bullet and change layout */
current_uid_gid(&ac.ac_uid, &ac.ac_gid); ac.ac_uid = orig_cred->uid;
ac.ac_gid = orig_cred->gid;
#if ACCT_VERSION==2 #if ACCT_VERSION==2
ac.ac_ahz = AHZ; ac.ac_ahz = AHZ;
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment