Re: [PATCH 0/10] Make bsd process accounting work in pid namespaces

Andrew Morton
2008-05-16T02:43:39Z

On Thu, 15 May 2008 14:52:46 +0400 Pavel Emelyanov <xemul@openvz.org> wrote:

> fter I fixed access to task->tgid in kernel/acct.c, Oleg
> pointed out some bad side effects with this accounting vs pid
> namespaces interaction. I.e. when some task in pid namespace
> sets this accounting up, this blocks all the others from doing
> the same. Restricting this to init namespace only could help,
> but didn't look as a grace solution.
>
> So here is the approach to make this accounting work with pid
> namespaces properly.

We still have this silliness in acct_file_reopen():

spin_unlock(&acct_lock);
do_acct_process(acct, old_ns, old_acct);
filp_close(old_acct, NULL);
spin_lock(&acct_lock);

Was this lock-dropping safe before?

Is it safe now?

To work this out, we'd need to know what acct_lock protects. What does
acct_lock protect?