From 8484d2b0a918124e79730042ae5e9cac7e59a4ef Mon Sep 17 00:00:00 2001 From: Vitaliy Gusev Date: Tue, 11 May 2010 14:06:56 -0700 Subject: [PATCH] --- yaml --- r: 190786 b: refs/heads/master c: 11cad320a4f4bc53d3585c85600c782faa12b99e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/acct.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index fdfb98d8f87f..62f69c07e633 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ab941e0fff3947b6dcc9c578d918d1bba54a6874 +refs/heads/master: 11cad320a4f4bc53d3585c85600c782faa12b99e diff --git a/trunk/kernel/acct.c b/trunk/kernel/acct.c index 24f8c81fc48d..e4c0e1fee9b0 100644 --- a/trunk/kernel/acct.c +++ b/trunk/kernel/acct.c @@ -353,17 +353,18 @@ void acct_auto_close(struct super_block *sb) void acct_exit_ns(struct pid_namespace *ns) { - struct bsd_acct_struct *acct; + struct bsd_acct_struct *acct = ns->bacct; - spin_lock(&acct_lock); - acct = ns->bacct; - if (acct != NULL) { - if (acct->file != NULL) - acct_file_reopen(acct, NULL, NULL); + if (acct == NULL) + return; - kfree(acct); - } + del_timer_sync(&acct->timer); + spin_lock(&acct_lock); + if (acct->file != NULL) + acct_file_reopen(acct, NULL, NULL); spin_unlock(&acct_lock); + + kfree(acct); } /*