aboutsummaryrefslogtreecommitdiff
path: root/kernel/acct.c
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2010-05-17 12:11:21 -0400
committerMatthew Garrett <mjg@redhat.com>2010-05-17 12:11:21 -0400
commita1e66dd0515c8cfa72b8e2a3834d59548cf84ba5 (patch)
treee1e1edf210c8dde6edbdfa32ed6ff59ac553729b /kernel/acct.c
parentd89d63a973986bf6c1d8b28ab62eb61491a3bb34 (diff)
parent6c62673cf58516e1b82329ac90ebf3ff3f485672 (diff)
Merge branch 'x86-platform-next' into x86-platform
Diffstat (limited to 'kernel/acct.c')
-rw-r--r--kernel/acct.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/kernel/acct.c b/kernel/acct.c
index 24f8c81fc48..e4c0e1fee9b 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -353,17 +353,18 @@ restart:
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);
}
/*