X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=kernel%2Facct.c;h=e4c0e1fee9b0022f8c0a15f7ed267e86f9d7d246;hb=ef0e9180d3589ad35eefe9be6b239f32719fd548;hp=24f8c81fc48d8241562aa7c23e011fe525d1da0b;hpb=80a186074e72e2cd61f6716d90cf32ce54981a56;p=cascardo%2Flinux.git diff --git a/kernel/acct.c b/kernel/acct.c index 24f8c81fc48d..e4c0e1fee9b0 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); } /*